<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/opencobra/cobratoolbox@ffa0229fc0c01c9236bb7e961f65712443277719/latest/_static/js/iframeResizer.contentWindow.min.js"></script><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,IE=9,chrome=1"><meta name="generator" content="MATLAB 2021a"><title>Introduction to MATLAB</title><style type="text/css">.rtcContent { padding: 30px; } .S0 { margin: 3px 10px 5px 4px; padding: 0px; line-height: 28.8px; min-height: 0px; white-space: normal; color: rgb(213, 80, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 24px; font-weight: normal; text-align: left;  }
.S1 { margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: normal; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;  }
.S2 { margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left;  }
.S3 { margin-bottom: 20px; padding-bottom: 4px;  }
.S4 { margin: 0px; padding: 10px 0px 10px 5px; line-height: 21px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: start;  }
.S5 { margin: -1px 0px 0px; padding: 10px 0px 10px 7px; line-height: 21px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: start;  }
.S6 { margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px;  }
.S7 { margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: normal;  }
.CodeBlock { background-color: #F7F7F7; margin: 10px 0 10px 0;}
.S8 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 4px 4px 0px 0px; padding: 6px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S9 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px; padding: 0px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S10 { color: rgb(64, 64, 64); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% / auto padding-box border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; overflow-x: hidden; line-height: 17.234px;  }
/* Styling that is common to warnings and errors is in diagnosticOutput.css */.embeddedOutputsErrorElement {    min-height: 18px;    max-height: 250px;    overflow: auto;}
.embeddedOutputsErrorElement.inlineElement {}
.embeddedOutputsErrorElement.rightPaneElement {}
/* Styling that is common to warnings and errors is in diagnosticOutput.css */.embeddedOutputsWarningElement{    min-height: 18px;    max-height: 250px;    overflow: auto;}
.embeddedOutputsWarningElement.inlineElement {}
.embeddedOutputsWarningElement.rightPaneElement {}
/* Copyright 2015-2019 The MathWorks, Inc. *//* In this file, styles are not scoped to rtcContainer since they could be in the Dojo Tooltip */.diagnosticMessage-wrapper {    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;    font-size: 12px;}
.diagnosticMessage-wrapper.diagnosticMessage-warningType {    color: rgb(255,100,0);}
.diagnosticMessage-wrapper.diagnosticMessage-warningType a {    color: rgb(255,100,0);    text-decoration: underline;}
.diagnosticMessage-wrapper.diagnosticMessage-errorType {    color: rgb(230,0,0);}
.diagnosticMessage-wrapper.diagnosticMessage-errorType a {    color: rgb(230,0,0);    text-decoration: underline;}
.diagnosticMessage-wrapper .diagnosticMessage-messagePart,.diagnosticMessage-wrapper .diagnosticMessage-causePart {    white-space: normal;}
.diagnosticMessage-wrapper .diagnosticMessage-stackPart {    white-space: normal;}
.embeddedOutputsTextElement,.embeddedOutputsVariableStringElement {    white-space: normal;    word-wrap:  initial;    min-height: 18px;    max-height: 250px;    overflow: auto;}
.textElement,.rtcDataTipElement .textElement {    padding-top: 3px;}
.embeddedOutputsTextElement.inlineElement,.embeddedOutputsVariableStringElement.inlineElement {}
.inlineElement .textElement {}
.embeddedOutputsTextElement.rightPaneElement,.embeddedOutputsVariableStringElement.rightPaneElement {    min-height: 16px;}
.rightPaneElement .textElement {    padding-top: 2px;    padding-left: 9px;}
.S11 { margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left;  }
.S12 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S13 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 4px 4px 0px 0px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S14 { margin: 10px 10px 5px 4px; padding: 0px; line-height: 18px; min-height: 0px; white-space: normal; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 15px; font-weight: bold; text-align: left;  }
.S15 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px 0px 4px 4px; padding: 0px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S16 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.variableValue { width: 100% !important; }
.embeddedOutputsMatrixElement,.eoOutputWrapper .matrixElement {    min-height: 18px;    box-sizing: border-box;}
.embeddedOutputsMatrixElement .matrixElement,.eoOutputWrapper  .matrixElement,.rtcDataTipElement .matrixElement {    position: relative;}
.matrixElement .variableValue,.rtcDataTipElement .matrixElement .variableValue {    white-space: normal;    display: inline-block;    vertical-align: top;    overflow: hidden;}
.embeddedOutputsMatrixElement.inlineElement {}
.embeddedOutputsMatrixElement.inlineElement .topHeaderWrapper {    display: none;}
.embeddedOutputsMatrixElement.inlineElement .veTable .body {    padding-top: 0 !important;    max-height: 100px;}
.inlineElement .matrixElement {    max-height: 300px;}
.embeddedOutputsMatrixElement.rightPaneElement {}
.rightPaneElement .matrixElement,.rtcDataTipElement .matrixElement {    overflow: hidden;    padding-left: 9px;}
.rightPaneElement .matrixElement {    margin-bottom: -1px;}
.embeddedOutputsMatrixElement .matrixElement .valueContainer,.eoOutputWrapper .matrixElement .valueContainer,.rtcDataTipElement .matrixElement .valueContainer {    white-space: nowrap;    margin-bottom: 3px;}
.embeddedOutputsMatrixElement .matrixElement .valueContainer .horizontalEllipsis.hide,.embeddedOutputsMatrixElement .matrixElement .verticalEllipsis.hide,.eoOutputWrapper .matrixElement .valueContainer .horizontalEllipsis.hide,.eoOutputWrapper .matrixElement .verticalEllipsis.hide,.rtcDataTipElement .matrixElement .valueContainer .horizontalEllipsis.hide,.rtcDataTipElement .matrixElement .verticalEllipsis.hide {    display: none;}
.embeddedOutputsVariableMatrixElement .matrixElement .valueContainer.hideEllipses .verticalEllipsis, .embeddedOutputsVariableMatrixElement .matrixElement .valueContainer.hideEllipses .horizontalEllipsis {    display:none;}
.embeddedOutputsMatrixElement .matrixElement .valueContainer .horizontalEllipsis,.eoOutputWrapper .matrixElement .valueContainer .horizontalEllipsis {    margin-bottom: -3px;}
.eoOutputWrapper .embeddedOutputsVariableMatrixElement .matrixElement .valueContainer {    cursor: default !important;}
.embeddedOutputsVariableElement {    white-space: normal;    word-wrap: break-word;    min-height: 18px;    max-height: 250px;    overflow: auto;}
.variableElement {}
.embeddedOutputsVariableElement.inlineElement {}
.inlineElement .variableElement {}
.embeddedOutputsVariableElement.rightPaneElement {    min-height: 16px;}
.rightPaneElement .variableElement {    padding-top: 2px;    padding-left: 9px;}
.variableNameElement {    margin-bottom: 3px;    display: inline-block;}
/* * Ellipses as base64 for HTML export. */.matrixElement .horizontalEllipsis,.rtcDataTipElement .matrixElement .horizontalEllipsis {    display: inline-block;    margin-top: 3px;    /* base64 encoded version of images-liveeditor/HEllipsis.png */    width: 30px;    height: 12px;    background-repeat: no-repeat;    background-image: url("");}
.matrixElement .verticalEllipsis,.textElement .verticalEllipsis,.rtcDataTipElement .matrixElement .verticalEllipsis,.rtcDataTipElement .textElement .verticalEllipsis {    margin-left: 35px;    /* base64 encoded version of images-liveeditor/VEllipsis.png */    width: 12px;    height: 30px;    background-repeat: no-repeat;    background-image: url("");}
.embeddedOutputsVariableTableElement .ClientViewDiv  table tr {  height: 22px;  white-space: nowrap;}
.embeddedOutputsVariableTableElement .ClientViewDiv  table tr td,.embeddedOutputsVariableTableElement .ClientViewDiv  table tr th {  background-color:white;  text-overflow: ellipsis;  font-family: 'Arial', sans-serif;  font-size: 12px;  overflow : hidden;}
.embeddedOutputsVariableTableElement .ClientViewDiv  table tr span {  text-overflow: ellipsis;  padding: 3px;}
.embeddedOutputsVariableTableElement .ClientViewDiv  table tr th {    color: rgba(0,0,0,0.5);  padding: 3px;  font-size: 9px;}
.S17 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 6px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S18 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 0px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S19 { margin: 15px 10px 5px 4px; padding: 0px; line-height: 18px; min-height: 0px; white-space: normal; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;  }
.S20 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px 0px 4px 4px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }</style></head><body><div class = rtcContent><h1  class = 'S0' id = 'T_0BB652ED' ><span>Introduction to MATLAB</span></h1><h2  class = 'S1' id = 'H_72DF864A' ><span>Author(s): Ronan Fleming, Leiden University</span></h2><h2  class = 'S1' id = 'H_4F7F7D8A' ><span>Reviewer(s): </span></h2><h2  class = 'S1' id = 'H_6A38465A' ><span>INTRODUCTION</span></h2><div  class = 'S2'><span style=' font-style: italic;'>The purpose of this tutorial is to introduce a novice to progamming in MATLAB, with a view towards using the COBRA toolbox.</span></div><div  class = 'S3'><div  class = 'S4'><span style=' font-weight: bold;'>Table of Contents</span></div><div  class = 'S5'><a href = "#H_72DF864A"><span>Author(s): Ronan Fleming, Leiden University
</span></a><a href = "#H_4F7F7D8A"><span>Reviewer(s): 
</span></a><a href = "#H_6A38465A"><span>INTRODUCTION
</span></a><a href = "#H_0B74EBC1"><span>Good Laboratory Practice for computational work
</span></a><a href = "#H_4FD8F03A"><span>MATERIALS - EQUIPMENT SETUP
</span></a><a href = "#H_F07993EC"><span>PROCEDURE
</span></a><span>        </span><a href = "#H_D3464C3B"><span>(Computational) project organisation
</span></a><a href = "#H_9249362F"><span>MATLAB 
</span></a><a href = "#H_3DF64FF3"><span>PROGRAMMING
</span></a><span>        </span><a href = "#H_9F0A5159"><span>Character arrays
</span></a><span>        </span><a href = "#H_3E00B8CF"><span>Numeric Arrays
</span></a><a href = "#H_8C0759EF"><span>Exercise 1: investigate the E. coli model
</span></a><span>    </span><a href = "#H_38CFE11D"><span>Operators/Scripts/Functions
</span></a><span>        </span><a href = "#H_BCFBC0FD"><span>Basic Command Syntax
</span></a><span>        </span><a href = "#H_B777235F"><span>Operators
</span></a><span>        </span><a href = "#H_A0F3E30B"><span>Conditional Control
</span></a><span>        </span><a href = "#H_06E3A484"><span>Loop Control
</span></a><span>        </span><a href = "#H_78222D7D"><span>Internal MATLAB Functions
</span></a><span>        </span><a href = "#H_756F19FC"><span>Custom MATLAB functions.
</span></a><a href = "#H_DA1131E2"><span>TROUBLESHOOTING
</span></a><span>        </span><a href = "#H_B0BAF1E8"><span>Errors
</span></a><span>        </span><a href = "#H_8D3308F8"><span>Warnings
</span></a><span>        </span><a href = "#H_3705049D"><span>Logical errors
</span></a><a href = "#H_D94AD52B"><span>TIMING
</span></a><a href = "#H_5DD32EB2"><span>ANTICIPATED RESULTS
</span></a><a href = "#H_69B7C06E"><span>Acknowledgments
</span></a><a href = "#H_9D7167A1"><span>REFERENCES</span></a></div></div><h2  class = 'S1' id = 'H_0B74EBC1' ><span>Good Laboratory Practice for computational work</span></h2><div  class = 'S2'><span style=' font-weight: bold;'>Reproducibility</span></div><ul  class = 'S6'><li  class = 'S7'><span>computational results must be confirmed to be </span><span>reproducible before anything is submitted for publication</span></li><li  class = 'S7'><span>before anything is submitted for publication someone independent should check to confirm that your code can reproduce your results (including figures and tables) so make sure to construct a computational pipeline for each paper in a clear way with almost no manual steps (some exceptions e.g. install version x of some program)</span></li><li  class = 'S7'><span>make sure everything is fully documented</span></li></ul><div  class = 'S2'><span>Self contained</span></div><div  class = 'S2'><span>Understandable by others = used by others</span></div><div  class = 'S2'><span>Separation of data from code (functions, scripts, narratives)</span></div><div  class = 'S2'><span>Separation of raw data from computationally derived data</span></div><div  class = 'S2'><span>Separation of functions from scripts and narratives</span></div><h2  class = 'S1' id = 'H_4FD8F03A' ><span>MATERIALS - EQUIPMENT SETUP</span></h2><div  class = 'S2'><span>Please ensure that all the required dependencies (e.g. , </span><span style=' font-family: monospace;'>git</span><span> and </span><span style=' font-family: monospace;'>curl</span><span>) of The COBRA Toolbox have been properly installed by following the installation guide </span><a href = "https://opencobra.github.io/cobratoolbox/stable/installation.html"><span>here</span></a><span>. Please ensure that the COBRA Toolbox has been initialised (tutorial_initialize.mlx) and verify that the pre-packaged LP and QP solvers are functional (tutorial_verify.mlx).</span></div><h2  class = 'S1' id = 'H_F07993EC' ><span>PROCEDURE</span></h2><div  class = 'S2'><span>Define the directory of your project. Use a name like </span><span style=' font-family: monospace;'>projectFolderName</span><span>, with no spaces so one can easily naigate to it from a terminal. In this case, the location of the </span><span style=' font-family: monospace;'>matlabIntro</span><span> folder, which is unique to each person's system: </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span style="color: rgb(2, 128, 9);">%projectFolderPath='~/drive/2019_BioSB_Constraint-Based_Modelling_Course/materials/practicals/matlabIntro';</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >projectFolderPath=</span><span style="color: rgb(170, 4, 249);">'~/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro'</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement scrollableOutput" uid="2E177FE0" data-testid="output_0" data-width="420" data-height="20" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">projectFolderPath = </span>'~/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro'</div></div></div></div></div></div><div  class = 'S11'><span>Recursively add all directories below a given path to the matlab path, so that matlab can find them:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >addpath(genpath(projectFolderPath))</span></span></div></div></div><div  class = 'S11'><span>Check that the E. coli core model is accessible from the matlab path. This command should return the path to the E. coli core model:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >which </span><span style="color: rgb(170, 4, 249);">ecoli_core_model.mat</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="5F3D5E79" data-testid="output_1" data-width="420" data-height="18" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testMaps/ecoli_core_model.mat</div></div></div></div></div><div  class = 'S11'><span>This model should not be accessible and will give 'not found'</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >which </span><span style="color: rgb(170, 4, 249);">NOT_ecoli_core_model.mat</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="BDE1A3DB" data-testid="output_2" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">'NOT_ecoli_core_model.mat' not found.</div></div></div></div></div><div  class = 'S11'><span>Change the current matlab folder to the matlabIntro folder</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >cd(projectFolderPath)</span></span></div></div></div><div  class = 'S11'><span>Ideally a project folder should be a locally synchronised copy of a folder on a cloud server, e.g., owncloud.org</span></div><h4  class = 'S14' id = 'H_D3464C3B' ><span>(Computational) project organisation</span></h4><div  class = 'S2'><span>Start organised, stay organised.</span></div><div  class = 'S2'><span>Observe the folder structure of this directory:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >dir(projectFolderPath)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="02203E49" data-testid="output_3" data-width="420" data-height="73" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">.                   data                proposals           
..                  literature          results             
.DS_Store           meetings            software            
code                papers              templateFunction.m  
conferences         progressReports     </div></div></div></div></div><div  class = 'S11'><span style=' font-weight: bold;'>code</span></div><div  class = 'S2'><span>Ideally, version controlled clone of a remote repositiory containing all code for a project.</span></div><div  class = 'S2'><span>e.g. implementation approach:</span></div><div  class = 'S2'><span>For each new project, one person leading a project should do this:</span></div><div  class = 'S2'><span>(1) set the desktop client for the cloud server to ignore folders named 'code'</span></div><div  class = 'S2'><span>(1) Create a new project folder by making a copy of a projectFolderTemplate, then give it a short name specific to the project, e.g., </span><span style=' font-family: monospace;'>thermoModel</span></div><div  class = 'S2'><span style=' font-family: monospace;'>$ mkdir ~/work/projects/thermoModel</span></div><div  class = 'S2'><span>(2) Create a new repo with the name of the project folder.</span></div><div  class = 'S2'><span>e.g. @github.com</span></div><div  class = 'S2'><span>(3) Clone the new repo into the code folder for your new project</span><span style=' font-family: monospace;'>$ </span></div><div  class = 'S2'><span style=' font-family: monospace;'>$ cd ~/work/projects/thermoModel   </span></div><div  class = 'S2'><span style=' font-family: monospace;'>$ </span><span style=' font-family: monospace;'>mkdir </span><span style=' font-family: monospace;'>code  </span><span style=' font-family: monospace;'></span></div><div  class = 'S2'><span style=' font-family: monospace;'></span><span style=' font-family: monospace;'>$ </span><span style=' font-family: monospace;'>git clone git@github.com:thermoModel.git code  </span></div><div  class = 'S2'><span>This way, the rest of the project files are synced with a cloud server but version control is selectively used to sync the code for a project and both are kept together in the same project folder locally.</span></div><div  class = 'S2'><span style=' font-weight: bold;'>literature</span><span> </span></div><ul  class = 'S6'><li  class = 'S7'><span>books, papers, with the title as the name of the pdf</span></li><li  class = 'S7'><span>bibliography management system for the citation key to be standard across papers</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>conferences</span><span> </span></div><ul  class = 'S6'><li  class = 'S7'><span>presentations at conferences</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>data</span></div><ul  class = 'S6'><li  class = 'S7'><span>all data used as input to a project in the exact form it was used without modification</span></li><li  class = 'S7'><span>traceability</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>results</span></div><ul  class = 'S6'><li  class = 'S7'><span>computational results generated from a project, well organised in subfolders</span></li><li  class = 'S7'><span>e.g. supplementary data, all figures and tables</span></li><li  class = 'S7'><span style=' font-weight: bold;'>DO NOT mix data with results</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>progressReports</span></div><ul  class = 'S6'><li  class = 'S7'><span>Reports of progress to funding agencies</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>meetings</span></div><ul  class = 'S6'><li  class = 'S7'><span>record of meetings concerning a project, e.g., whiteboard images, or google docs link, cross reference to project specific thread, e.g. slack</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>papers</span></div><ul  class = 'S6'><li  class = 'S7'><span>scientific papers concerning a project</span></li><li  class = 'S7'><span>narratives can be provided as supplementary material  </span></li></ul><h2  class = 'S1' id = 'H_9249362F' ><span>MATLAB </span></h2><div  class = 'S2'><span style=' font-weight: bold;'>Editor/Live editor:</span><span> </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span style="color: rgb(2, 128, 9);">% edit tutorial_intro_to_matlab.mlx</span></span></div></div></div><ul  class = 'S6'><li  class = 'S7'><span>scripts (.m) and narriatives (.mlx) are specific to a project</span></li><li  class = 'S7'><span>scripts generate all their results as objects separate from the code</span></li><li  class = 'S7'><span>narratives generate all their results as objects embedded with the corresponding code and textual descriptions, including (latex) equations, if necessary.</span></li><li  class = 'S7'><span>narratives are very useful for generation of supplementary files (e.g. can also be exported as pdfs)</span></li><li  class = 'S7'><span>functions (.m) - may be generated during a project but should be written in a way that they can be reused for other project and ultimately moved to a generic software suite, e.g., the COBRA toolbox</span></li></ul><div  class = 'S2'><span style=' font-weight: bold;'>Command window: </span><span>use for testing single lines, otherwise, for reproducibility, use narratives (live scripts)</span></div><div  class = 'S2'><span>For example, do a simple multiplication on the command line:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >2*3</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = 6</div></div></div></div><div  class = 'S11'><span style=' font-weight: bold;'>Current folder:</span><span> files are accessible to matlab from this folder even if it has not been added to the matlab path. Check the current folder by typing the following into the command window:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >pwd</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement scrollableOutput" uid="D35FBEEC" data-testid="output_5" data-width="420" data-height="20" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro'</div></div></div></div></div></div><div  class = 'S11'><span style=' font-weight: bold;'>Workspace:</span><span> a workspace is a set of data currently accessible from within MATLAB. Make sure to show at least the following columns: Name; Value; Size; Class</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >whos</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="6B1381DB" data-testid="output_6" data-width="420" data-height="199" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">  Name                   Size             Bytes  Class     Attributes

  A                      5x6                240  double              
  B                      1x1                  8  double              
  a                      1x1                  8  double              
  ans                    1x78               156  char                
  m                      1x1                  8  double              
  model                  1x1             213014  struct              
  n                      1x1                  8  double              
  nMets                  1x1                  8  double              
  nRxns                  1x1                  8  double              
  number                 1x1                  8  double              
  projectFolderPath      1x64               128  char                
  x                      1x6                 48  double              </div></div></div></div></div><div  class = 'S11'><span>Getting help: various approaches possible</span></div><div  class = 'S2'><span>1) MATLAB &gt; Help</span></div><div  class = 'S2'><span>2) Enter is* into the search pane in the matlab help window to see many more.</span></div><div  class = 'S2'><span>3) </span><a href = "https://uk.mathworks.com/help/matlab/index.html"><span>MATLAB Help website</span></a></div><div  class = 'S2'><span>4) help functionName on the command line</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >help </span><span style="color: rgb(170, 4, 249);">pwd</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6E11FB6B" data-testid="output_7" data-width="420" data-height="115" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"> <strong style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">pwd</strong> Show (print) current working directory.
    <strong style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">pwd</strong>  displays the current working directory.
 
    S = <strong style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">pwd</strong> returns the current directory in the string S.
 
    See also cd.

    Documentation for pwd</div></div></div></div></div><h2  class = 'S1' id = 'H_3DF64FF3' ><span>PROGRAMMING</span></h2><div  class = 'S2'><span style=' font-weight: bold;'>Data representation</span></div><div  class = 'S2'><span>Data is represented in MATLAB as "variables" with unique names (upto 63 characters) within each workspace.</span></div><div  class = 'S2'><span>Load a workspace (</span><span style=' font-family: monospace;'>.mat </span><span>file) into the current workspace containing a COBRA model. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >load </span><span style="color: rgb(170, 4, 249);">'ecoli_core_model.mat'</span><span >;</span></span></div></div></div><div  class = 'S11'><span>For reproducibility, do this programmatically rather than manually (point and click).</span></div><div  class = 'S2'><span>Note that the proper way to load a model into The COBRA Toolbox is to use the </span><span style=' font-family: monospace;'>readCbModel</span><span> function. For example, to load a model from a MAT-file, you can simply use the filename (with or without file extension). </span></div><div  class = 'S2'><span style=' font-weight: bold;'>Variables</span></div><div  class = 'S2'><span>Like most other programming languages, the MATLAB language provides mathematical expressions, but unlike most programming languages, these expressions may involve entire matrices. </span></div><div  class = 'S2'><span>MATLAB does not require any type declarations or dimension statements. </span></div><div  class = 'S2'><span>When MATLAB encounters a new variable name, it automatically creates the variable and allocates the appropriate amount of storage. Preallocation of memory makes certain things more efficient, but is not essential.</span></div><div  class = 'S2'><span>If the variable already exists, MATLAB changes its contents and, if necessary, allocates new storage. For example, this code creates a double precision scalar (1-by-1 matrix) named </span><span style=' font-family: monospace;'>num_students</span><span> and stores the value 25 in its single element.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >num_students = 25;</span></span></div></div></div><div  class = 'S11'><span>To view the data assigned to any variable, simply enter the variable name.</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >num_students</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>num_students = 25</div></div></div></div><div  class = 'S11'><span>Note that adding ; after a command supresses default output.</span></div><div  class = 'S2'><span>Variable names consist of a letter, followed by any number of letters, digits, or underscores. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span style="color: rgb(2, 128, 9);">% 1badVariableName = num_students</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span >goodVariableName1 = num_students;</span></span></div></div></div><div  class = 'S11'><span>MATLAB is case sensitive; it distinguishes between uppercase and lowercase letters. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >GoodVariableName1 = </span><span style="color: rgb(170, 4, 249);">'first_captial'</span><span >;</span></span></div></div></div><div  class = 'S11'><span>Confirm:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >goodVariableName1</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>goodVariableName1 = 25</div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >GoodVariableName1</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="F3BF56D0" data-testid="output_10" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">GoodVariableName1 = </span>'first_captial'</div></div></div></div></div></div><div  class = 'S11'><span>The E. coli core metabolic model structure combines many of the classes of data used in MATLAB.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >load </span><span style="color: rgb(170, 4, 249);">'ecoli_core_model.mat'</span><span >;</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span >originalModel = model;</span></span></div></div></div><div  class = 'S11'><span style=' font-weight: bold;'>Structures</span></div><div  class = 'S2'><span>A </span><span style=' font-family: monospace;'>structure</span><span> is a multidimensional MATLAB arrays with elements accessed by textual </span><span style=' font-family: monospace;'>field</span><span> designators.</span></div><div  class = 'S2'><span>The contents of the E. coli core metabolic model structure can be seen line by entering the name of the variable corresponding to it, without a following semi-colon</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >model</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="D0A0557F" data-testid="output_11" data-width="420" data-height="384" data-hashorizontaloverflow="false" style="width: 450px; max-height: 395px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">model = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">struct with fields:</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">                rxns: {95×1 cell}
                mets: {72×1 cell}
                   S: [72×95 double]
                 rev: [95×1 double]
                  lb: [95×1 double]
                  ub: [95×1 double]
                   c: [95×1 double]
           metCharge: [72×1 int32]
               rules: {95×1 cell}
               genes: {137×1 cell}
          rxnGeneMat: [95×137 double]
             grRules: {95×1 cell}
          subSystems: {95×1 cell}
    confidenceScores: {95×1 cell}
       rxnReferences: {95×1 cell}
        rxnECNumbers: {95×1 cell}
            rxnNotes: {95×1 cell}
            rxnNames: {95×1 cell}
            metNames: {72×1 cell}
         metFormulas: {72×1 cell}
          metChEBIID: {72×1 cell}
           metKeggID: {72×1 cell}
        metPubChemID: {72×1 cell}
      metInchiString: {72×1 cell}
                   b: [72×1 double]
         description: 'ecoli_core_model'
</div></div></div></div></div></div><div  class = 'S11'><span>The contents of the field name can be accessed by appending the field name to the structure name with a . in between.</span></div><div  class = 'S2'><span>To return a short description of the model</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >description = model.description</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="E8DC2D08" data-testid="output_12" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">description = </span>'ecoli_core_model'</div></div></div></div></div></div><div  class = 'S11'><span>To return the size of the stoichiometric matrix</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >size(model.S)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="691566B6" data-testid="output_13" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×2</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;2&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 90px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    72    95
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><h4  class = 'S14' id = 'H_9F0A5159' ><span>Character arrays</span></h4><div  class = 'S2'><span>A character array is a string of characters</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >newChar =  </span><span style="color: rgb(170, 4, 249);">'EX_o2(e)' </span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="C4E4CF86" data-testid="output_14" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">newChar = </span>'EX_o2(e)'</div></div></div></div></div></div><div  class = 'S11'><span style=' font-family: monospace;'>newChar</span><span> is now the name of a variable of class character</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >newChar2 =  </span><span style="color: rgb(170, 4, 249);">'EX_o2(e)' </span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="B75A166D" data-testid="output_15" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">newChar2 = </span>'EX_o2(e)'</div></div></div></div></div></div><div  class = 'S11'><span>newChar2 is now also the name of a variable of class character.</span></div><div  class = 'S2'><span>A range of functions exist to test the class of a variable </span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >class(newChar)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="FD354B7D" data-testid="output_16" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'char'</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >ischar(newChar2)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="36B48E7D" data-testid="output_17" data-width="420" data-height="34" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">logical</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   1
</div></div></div></div></div></div><div  class = 'S11'><span>Character arrays can be concatenated</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >A = </span><span style="color: rgb(170, 4, 249);">'EX'</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="47175C6A" data-testid="output_18" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">A = </span>'EX'</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >B = </span><span style="color: rgb(170, 4, 249);">'_'</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="7C41FA01" data-testid="output_19" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">B = </span>'_'</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >C = </span><span style="color: rgb(170, 4, 249);">'o2(e)'</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="A5C2E68F" data-testid="output_20" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">C = </span>'o2(e)'</div></div></div></div></div></div><div  class = 'S11'><span>Concatenation</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >ABC = [A, B, C]</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="0B0DB369" data-testid="output_21" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ABC = </span>'EX_o2(e)'</div></div></div></div></div></div><h4  class = 'S14' id = 'H_3E00B8CF' ><span>Numeric Arrays</span></h4><div  class = 'S2'><span>Numeric Array: Scalar</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >num_students</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>num_students = 25</div></div></div></div><div  class = 'S11'><span>Numeric Array: Vector</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >lb = model.lb; </span></span></div></div></div><div  class = 'S11'><span>lb is a column vector</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >size(lb)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="701BA907" data-testid="output_23" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×2</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;2&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 90px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    95     1
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>Use the transpose operator to switch rows to columns</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >lb=lb';</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >size(lb)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="5A5240E8" data-testid="output_24" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×2</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;2&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 90px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">     1    95
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>Numeric Array: Matrix</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span >S = model.S; </span></span></div></div></div><div  class = 'S11'><span>By convention, the number of rows in S is equal to the number of metabolites, and number of columns is equal to the number of reactions:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >[nMets,nRxns] = size(S)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>nMets = 72</div><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>nRxns = 95</div></div></div></div><div  class = 'S11'><span>The spy function can be used to see a pictoral representation of S</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >spy(S)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="31426B05" data-testid="output_27" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div></div><div  class = 'S11'><span>You can enter matrices into MATLAB in several different ways:</span></div><ul  class = 'S6'><li  class = 'S7'><span>Enter an explicit list of elements.</span></li><li  class = 'S7'><span>Load matrices from external data files.</span></li><li  class = 'S7'><span>Generate matrices using built-in functions. e.g. magic(3,4)</span></li><li  class = 'S7'><span>Create matrices with your own functions in M-files.</span></li></ul><div  class = 'S2'><span>Start by entering a matrix as a list of its elements. You only have to follow a few basic conventions:</span></div><ul  class = 'S6'><li  class = 'S7'><span>Separate the elements of a row with blanks or commas.</span></li><li  class = 'S7'><span>Use a semicolon, ; , to indicate the end of each row. </span></li><li  class = 'S7'><span>Surround the entire list of elements with square brackets, [ ].</span></li></ul><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >S = [-1 1; 1 -1]</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="D788971F" data-testid="output_28" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">S = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">2×2</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;2&quot;,&quot;totalRows&quot;:&quot;2&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 90px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    -1     1
     1    -1
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>Cell array</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >rxnNames = model.rxnNames</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextMatrixElement embeddedOutputsVariableMatrixElement" uid="1702F44D" data-testid="output_29" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">rxnNames = </span><span class="veVariableValueSummary headerElement" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">95×1 cell</span></div></div><div class="valueContainer" data-layout="{&quot;totalRows&quot;:&quot;95&quot;,&quot;totalColumns&quot;:&quot;1&quot;}" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 216px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">'acetaldehyde dehydrogenase …  <br>'acetaldehyde reversible tra…  <br>'acetate kinase'               <br>'aconitase (half-reaction A,…  <br>'aconitase (half-reaction B,…  <br>'acetate reversible transpor…  <br>'adenylate kinase'             <br>' 2-Oxogluterate dehydrogenase'<br>' 2-oxoglutarate reversible …  <br>'alcohol dehydrogenase (etha…  <br></div><div class="horizontalEllipsis hide" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span style=' font-family: monospace;'>rxnNames</span><span> is now a variable name of class cell array containing reaction names in a model</span></div><div  class = 'S2'><span>Creating cell array</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >someArray = {</span><span style="color: rgb(170, 4, 249);">'The' </span><span >; </span><span style="color: rgb(170, 4, 249);">'number'</span><span >; 10}</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableTableElement" uid="386CCB82" data-testid="output_30" style="width: 450px;"><div class="ClientDocument veSpecifier table" id="variableeditor_client_Document_0" widgetid="variableeditor_client_Document_0" tabindex="0"><div class="summaryBar" style="font-size: 12px; font-family: Consolas, Inconsolata, Menlo, monospace;"><span>someArray = </span><span style="color: rgb(179, 179, 179); font-style: normal;">3×1 cell </span></div><div id="variableeditor_TableViewModel_0" widgetid="variableeditor_TableViewModel_0" class="cell ClientViewDiv hasSummaryBar" data-viewid="__1"><table cellspacing="0" style="border-spacing: 0px; border-width: 0px 1px 0px 0px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial;"><thead><tr><th style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 9px; overflow: hidden; width: 34px; text-align: left; border-width: 1px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial; background: rgb(245, 245, 245); color: rgb(128, 128, 128); padding: 3px;"><span>&nbsp;</span></th><th style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 9px; overflow: hidden; width: 75px; min-width: 75px; max-width: 75px; text-align: center; border-width: 1px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial; background: rgb(245, 245, 245); color: rgb(128, 128, 128); padding: 3px;"><span>1</span></th></tr></thead><tbody><tr><th style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 9px; overflow: hidden; width: 34px; text-align: left; border-width: 0px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial; background: rgb(245, 245, 245); color: rgb(128, 128, 128); padding: 3px;"><span>1</span></th><td style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 12px; overflow: hidden; width: 75px; min-width: 75px; max-width: 75px; text-align: left; border-width: 0px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial;"><span>'The'</span></td></tr><tr><th style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 9px; overflow: hidden; width: 34px; text-align: left; border-width: 0px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial; background: rgb(245, 245, 245); color: rgb(128, 128, 128); padding: 3px;"><span>2</span></th><td style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 12px; overflow: hidden; width: 75px; min-width: 75px; max-width: 75px; text-align: left; border-width: 0px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial;"><span>'number'</span></td></tr><tr><th style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 9px; overflow: hidden; width: 34px; text-align: left; border-width: 0px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial; background: rgb(245, 245, 245); color: rgb(128, 128, 128); padding: 3px;"><span>3</span></th><td style="text-overflow: ellipsis; font-family: Arial, sans-serif; font-size: 12px; overflow: hidden; width: 75px; min-width: 75px; max-width: 75px; text-align: left; border-width: 0px 0px 1px 1px; border-style: solid; border-color: rgb(191, 191, 191); border-image: initial;"><span>10</span></td></tr></tbody></table></div></div></div></div></div></div><div  class = 'S11'><span>Note that cell arrays can contain character arrays or numbers, whereas numeric arrays can only contain numbers.</span></div><div  class = 'S2'><span>There are different ways for accessing cell arrays.</span></div><div  class = 'S2'><span>Accessing the entries of arrays with numeric indexes (Note the {} brackets): </span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >aname = rxnNames{36}</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="A3520389" data-testid="output_31" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">aname = </span>'O2 exchange'</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >class(aname)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="1D438B9A" data-testid="output_32" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'char'</div></div></div></div></div><div class="inlineWrapper"><div  class = 'S17'><span style="white-space: normal"><span >bool = false(nRxns,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >bool(36) = 1;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >aname2 = rxnNames{bool}</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="E8FB406E" data-testid="output_33" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">aname2 = </span>'O2 exchange'</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >class(aname2)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="DAA6BB65" data-testid="output_34" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'char'</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >aname3 = rxnNames(bool)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="2F62F48B" data-testid="output_35" data-width="420" data-height="34" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">aname3 = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">1×1 cell array</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    {'O2 exchange'}
</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >class(aname2)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="4A672235" data-testid="output_36" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'char'</div></div></div></div></div></div><div  class = 'S11'><span>Accessing numeric arrays, e.g., upper and lower bounds on the O2 exchange reaction</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >model.lb(36)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = -1000</div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >model.ub(36)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = 1000</div></div></div></div><div  class = 'S11'><span>same as </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >lb = model.lb;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >ub = model.ub;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >lb(36)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = -1000</div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >ub(36)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = 1000</div></div></div></div><div  class = 'S11'><span>same as</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >model.lb(bool)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = -1000</div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >model.ub(bool)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = 1000</div></div></div></div><div  class = 'S11'><span>The Colon Operator</span></div><div  class = 'S2'><span>The colon : is one of the most important MATLAB operators. It occurs in several different forms. The expression </span><span style=' font-family: monospace;'>1:10 </span><span>is a row vector containing the integers from 1 to 10:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >1:10 </span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="EED57189" data-testid="output_43" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×10</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;10&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 354px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">     1     2     3     4     5     6     7     8     9    10
</div><div class="horizontalEllipsis" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span> 1     2     3     4     5     6     7     8     9    10</span></div><div  class = 'S2'><span>To obtain nonunit spacing, specify an increment. For example,</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >100:-7:50</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="C966D9FC" data-testid="output_44" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×8</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;8&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 354px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   100    93    86    79    72    65    58    51
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>Subscript expressions involving colons refer to portions of a matrix:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >S(1:end,2)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="546C9BC9" data-testid="output_45" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">2×1</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:44,&quot;totalColumns&quot;:&quot;1&quot;,&quot;totalRows&quot;:&quot;2&quot;,&quot;charsPerColumn&quot;:6}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 46px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">     1
    -1
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>Logical classes</span></div><div  class = 'S2'><span>The logical data type represents a logical true or false state using the numbers 1 and 0, respectively. </span></div><div  class = 'S2'><span>Certain MATLAB functions and operators return logical true or false to indicate whether a certain  condition was found to be true or not. For example, the statement 50&gt;40 returns a logical true value.</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >10 &lt; 4</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="84734DCA" data-testid="output_46" data-width="420" data-height="34" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">logical</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   0
</div></div></div></div></div></div><div  class = 'S11'><span>Logical data does not have to be scalar; MATLAB supports arrays of logical values as well. </span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >r34 = rand(3,4)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="958827B1" data-testid="output_47" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement double" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">r34 = </span><span class="veVariableValueSummary veMetaSummary" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">3×4</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:72,&quot;totalColumns&quot;:&quot;4&quot;,&quot;totalRows&quot;:&quot;3&quot;,&quot;charsPerColumn&quot;:10}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 290px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    0.6256    0.9294    0.4359    0.5085
    0.7802    0.7757    0.4468    0.5108
    0.0811    0.4868    0.3063    0.8176
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >r34 &gt; 0.5</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="162BD225" data-testid="output_48" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary headerElement" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">3×4 logical array</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:29,&quot;totalColumns&quot;:&quot;4&quot;,&quot;totalRows&quot;:&quot;3&quot;,&quot;charsPerColumn&quot;:4}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 118px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   1   1   0   1
   1   1   0   1
   0   0   0   1
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>Logical indexing - the most powerful way to access any form of array. Find all the reactions which produce or consume oxygen</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >model.rxns{model.S(57,:)~=0}</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="3B8F8C4C" data-testid="output_49" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'EX_o2(e)'</div></div></div><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="E8EC736E" data-testid="output_50" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'O2t'</div></div></div></div></div></div><h2  class = 'S1' id = 'H_8C0759EF' ><span>Exercise 1: investigate the E. coli model</span></h2><div  class = 'S2'><span>In the E. coli model, find all the metabolites produced and consumed in the 'glutamine synthetase' reaction?</span></div><div  class = 'S2'><span>What is the stoichiometry of the reaction?</span></div><h3  class = 'S19' id = 'H_38CFE11D' ><span>Operators/Scripts/Functions</span></h3><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >clear</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span >load </span><span style="color: rgb(170, 4, 249);">ecoli_core_model.mat</span></span></div></div></div><h4  class = 'S14' id = 'H_BCFBC0FD' ><span>Basic Command Syntax</span></h4><div  class = 'S2'><span>A simple MATLAB command computes the result of the expression to the right of the equals sign and  assigns the value of the result to the output variable at the left. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span style="color: rgb(2, 128, 9);">%edit templateFunction.m</span></span></div></div></div><div  class = 'S11'><span>The MATLAB software reserves certain words for its own use as keywords of the language, e.g., </span><span style=' font-family: monospace;'>is, and, for...</span></div><div  class = 'S2'><span>Several functions return important special values that you can use in your M-files. e.g. NaN means Not a Number and helps to distinguish between no output and empty:</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >a = []</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="64B99A8A" data-testid="output_51" data-width="420" data-height="45" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">a =

     []</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >isempty(a)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="0C3C7FD3" data-testid="output_52" data-width="420" data-height="34" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">logical</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   1
</div></div></div></div></div><div class="inlineWrapper"><div  class = 'S17'><span style="white-space: normal"><span >a = NaN;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >isempty(a)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="CE507585" data-testid="output_53" data-width="420" data-height="34" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">logical</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   0
</div></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S16'><span style="white-space: normal"><span >isfinite(NaN)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="DB4DB70B" data-testid="output_54" data-width="420" data-height="34" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = <span class="headerElement" style="white-space: normal; font-style: italic; color: rgb(179, 179, 179); font-size: 12px;">logical</span></span></div><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   0
</div></div></div></div></div></div><h4  class = 'S14' id = 'H_B777235F' ><span>Operators</span></h4><div  class = 'S2'><span>Arithmetic Operators - + ./ .* / * etc</span></div><div  class = 'S2'><span>Relational Operators == ~= &lt;= &lt; &gt; &gt;= </span></div><div  class = 'S2'><span>Boolean operators &amp; (and) | (or) ~ (not)</span></div><div  class = 'S2'><span>There is a big difference between "=" and "==". The former is an assignment operator, whilst the latter is a logical expression;</span></div><div  class = 'S2'><span>The examples shown in the following table use vector inputs A and B, where</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >A = [0 1 1 0 1];</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span >B = [1 1 0 0 1];</span></span></div></div></div><div  class = 'S11'><span>The </span><span style=' font-family: monospace;'>&amp;</span><span> operator Returns 1 for every element location that is true (nonzero) in both arrays, and 0 for all other elements.</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >A &amp; B</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="8108EDCD" data-testid="output_55" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary headerElement" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×5 logical array</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:29,&quot;totalColumns&quot;:&quot;5&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:4}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 147px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   0   1   0   0   1
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>The </span><span style=' font-family: monospace;'>|</span><span> operator returns 1 for every element location that is true (nonzero) in either one or the other, or both arrays, and 0 for all other elements.</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >A | B</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="B0227711" data-testid="output_56" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary headerElement" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×5 logical array</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:29,&quot;totalColumns&quot;:&quot;5&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:4}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 147px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   1   1   1   0   1
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><div  class = 'S11'><span>The </span><span style=' font-family: monospace;'>~</span><span> operator gives the complement of each element of the input array, A.</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >~A</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableMatrixElement" uid="A59D395E" data-testid="output_57" data-width="420" style="width: 450px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="matrixElement veSpecifier saveLoad" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="veVariableName variableNameElement" style="width: 420px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="headerElementClickToInteract" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span><span class="veVariableValueSummary headerElement" style="white-space: normal; font-style: normal; color: rgb(179, 179, 179); font-size: 12px;">1×5 logical array</span></div></div><div class="valueContainer" data-layout="{&quot;columnWidth&quot;:29,&quot;totalColumns&quot;:&quot;5&quot;,&quot;totalRows&quot;:&quot;1&quot;,&quot;charsPerColumn&quot;:4}" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="variableValue" style="width: 147px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">   1   0   0   1   0
</div><div class="horizontalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div><div class="verticalEllipsis hide" style="white-space: nowrap; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"></div></div></div></div></div></div></div><h4  class = 'S14' id = 'H_A0F3E30B' ><span>Conditional Control</span></h4><div  class = 'S2'><span> </span><span style=' font-family: monospace;'>if, end, switch</span></div><div  class = 'S2'><span>This group of control statements enables you to select at run-time which block of code is executed. </span></div><div  class = 'S2'><span>Combined, "if" and "end" is the most basic form of flow control statement. The if statement evaluates  a logical expression and executes a group of statements when the expression is true. An end keyword, which matches the if, terminates the last group of statements. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >number = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >number == 0</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >   path</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div  class = 'S11'><span>Alternatively...</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >number ~= 0</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >   path</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="1DDAEEF7" data-testid="output_58" data-width="420" data-height="9663" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">		MATLABPATH

	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/code
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/conferences
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/meetings
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/scripts
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v1
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v1/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v2
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v2/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/progressReports
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/proposals
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/software
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/code
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/conferences
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/meetings
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/scripts
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v1
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v1/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v2
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v2/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/progressReports
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/proposals
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/software
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction/data
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction/data/atomMapped
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction/data/molFiles
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/browseNetwork
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/essentialRxns4MultipleModels
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/FBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/FVA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/gMCS
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/hostMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/microbeMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/minSpan
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/pFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/relaxedFBA/example_relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/relaxedFBABounds
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/robustnessPhPP
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/sensitivityAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/simulateAGORAGrowthInDiets
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/sparseFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/steadyCom
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/uniformSampling
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/uniformSampling/data
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/variationalKinetics
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/vonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/vonBertalanffy/iAF1260_results
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/engagingWithTheCommunity
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/initialize
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/initializeAndVerify
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/intro
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/IO
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/primer
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/verify
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/extractionTranscriptomic
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/extractionTranscriptomic/options_methods
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/metabotools
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/metabotools/tutorial_I
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/metabotools/tutorial_II
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/uFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optForce
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optForceGAMS
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optGene
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optKnock
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/COBRAconcepts
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/constrainingModels
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/createSubnetworkRecon
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel/part1
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel/part2
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel/part3
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/fastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/fastGapFill/example
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/fidelityTesting
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/leakSiphonModes
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelATPYield
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelCreation
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelManipulation
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelProperties
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelSanityChecks
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/numCharact
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/rBioNet
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/rBioNet/examples
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/recon2FBAmodel
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/reconstructionSOP
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/cellDesigner
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/metabolicCartography
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/metabolicCartography/data
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/paint4Net
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/remoteVisualisation
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/hooks
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/info
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs/heads
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs/remotes
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/objects
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/objects/info
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/objects/pack
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/heads
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/remotes
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/tags
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/atomTransitionOld
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/bipartiteConversion
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/circuits
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/extremeRays
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/kineticFunction
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/makeModel
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/mitoMap
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/mitoMap/data
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/moietyGraphDecomposition
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/moietyNumberThm
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/moietySplittingPaperExamples
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/monotoneNetwork
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/nikos
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old/fluxconsistency
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old/stoichconsistency
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old/stoichconsistency/maike-ines
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/signStoichiometry
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/smithNormalForm
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox
	/Users/rfleming/Documents/MATLAB
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/docs/source/notes
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/postSierra
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testFluxConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testMaps
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testModels/testedModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testOptCardinality
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testOpti
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testRelaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testStoichiometricConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testThermo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testTissueModel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testTopology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testVonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/models
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/models/mat
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/models/xml
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testBiomassPrecursorCheck
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testConnectedComponents
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testCorrespondingRowsCols
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testDeletionStudy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testDynamicFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testEnumerateOptimal
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testExploration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFASTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFASTCORE/testLP9
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFEA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFindBlockedReaction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testGeneMCS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testGeometricFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testKLdistance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMDFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMOMA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMTA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMultiSpeciesModelling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testNullspace
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testOptimizeCbModel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testPrint
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testQFCA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testROOM
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testRank
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testRobustnessAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testSampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testSteadyCom
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testSubspaces
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testThermo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testTopology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testTopology/testConvertHypergraphToBipartiteGraph
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testfindMIIS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testpFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testrFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testuFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testCardOpt
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testIO
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testIO/testKEGG
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testIO/testUtilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testInstall
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testMPS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testOutputNetworkCytoscape
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testSolvers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testSolvers/NLPscripts
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testTools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testXls2Model
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testwritePajekNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testChemoInformatics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testEFlux
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testFitC13Data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testMetaboTools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testPreprocessing
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testSWIFTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design/testGDLS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design/testOptForce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design/testOptKnock
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testComputeMetFormulae
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testConstraintModifications
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testDetectDeadEnds
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testElementalBalance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testFastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testFastLeakTest
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testGPRLogic
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testGapFind
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testGrowthExpMatch
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testInChI
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testMassChargeBalance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testModelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testModelGeneration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testModelManipulation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testRBioNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization/testPaint4Net
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization/testReconMap
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization/testVisualizeEpistasis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FVA/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FVA/fastFVA/logFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/KLdistance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/MOMA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/QFCA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/ROOM
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/coupling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/deletion
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/dynamicFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/exploration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/exploration/surfNetSubfunctions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/findMIIS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/fluxEnrichmentAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/gMCS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/geometricFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/mdFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/SteadyCom
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/SteadyCom/subroutines
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox/additionalAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox/mgPipe
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox/pairwiseInteractionModeling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/parsimoniousFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/rFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/rMTA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/robustnessAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/rumba
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sampling/ACHR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sampling/CHRR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sparseFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/lsqr
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/nullspace
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/nullspace/remote
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/rank
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/rowReduce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/subspaceProjection
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution/cache
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/directionalityReport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/directionalityReport/old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/alberty2006
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/ecoli
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/groupContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/metaboliteConcentrations
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/reconstructions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/transport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalDesign
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/groupContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/inchi
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/molFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/protons
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/reactantContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/thermoFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/transport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/vonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/FR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/conservedMoieties
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays/lrs/lrsInterface
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays/optimalRays
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/graphHypergraphConversion
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/transport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/uFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/install
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/BiGG
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/KEGG
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/definitions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/utilities/SBML
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt/sparseLP
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt/sparseLP/old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt/tangiCode
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin/BDCAmethods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin/derFreeMethods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin/levMarMethods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/chemoInformatics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/fluxomics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/fluxomics/atomTransition
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/fluxomics/c13solver
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/metabotools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/FASTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/GIMME
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/INIT
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/MBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/SWIFTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/eFlux
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/iMAT
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/preprocessing
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/design/optForce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/design/optForceGAMS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/comparison
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/comparison/modelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/comparison/modelBorgifier/gui
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/fastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/fastGapFill/AuxillaryFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/growthExpMatch
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/fluxConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/fluxConsistency/DCA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/fluxConsistency/GREEDY
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/massBalance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/massBalance/basicPhysicochemicalData
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/modelProperties
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/modelVerification
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/stoichConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/rBioNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/rBioNet/gui
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/refinement
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/refinement/GPRLogic
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/cellDesigner
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/maps
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/maps/ReconMap
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/metabolicCartography
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/paint4Net
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/paint4Net/Draw_by_met
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/paint4Net/Draw_by_rxn
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/visualizeEpistasis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_cardOpt_tangiCode
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_directionalityReport_old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_fluxomics_obsolete
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_io_depreciated
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_maps_old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_maps_old/tools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_testDependencyStructure
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_thermo_old_data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_topology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_topology/FR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_topology/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/DQQ
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/minos
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/DQQ
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/minos
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/lib/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/bin/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/lib/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2013_Recon2
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2015_fluxConcentrationDuality
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2015_fluxConcentrationDuality/iMM904
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2017_AGORA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2017_AGORA/checkStoichFluxConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_DecisionsTranscriptomicIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_microbiomeModelingToolbox/examples
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_modelClassifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/.artenolis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/.template
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/FBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/FVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction/data/atomMapped
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction/data/molFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/browseNetwork
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/essentialRxns4MultipleModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/gMCS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/hostMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/microbeMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/minSpan
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/pFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/relaxedFBA/example_relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/relaxedFBABounds
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/robustnessPhPP
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/simulateAGORAGrowthInDiets
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/sparseFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/steadyCom
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/uniformSampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/uniformSampling/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/variationalKinetics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/vonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/vonBertalanffy/iAF1260_results
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base/IO
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base/engagingWithTheCommunity
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base/initializeAndVerify
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/extractionTranscriptomic
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/extractionTranscriptomic/options_methods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/metabotools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/metabotools/tutorial_I
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/metabotools/tutorial_II
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/uFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optForce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optForceGAMS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optGene
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optKnock
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/COBRAconcepts
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/constrainingModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/createSubnetworkRecon
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel/part1
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel/part2
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel/part3
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/fastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/fastGapFill/example
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/fidelityTesting
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/leakSiphonModes
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelATPYield
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelCreation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelManipulation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelProperties
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelSanityChecks
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/numCharact
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/rBioNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/rBioNet/examples
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/recon2FBAmodel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/reconstructionSOP
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/cellDesigner
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/metabolicCartography
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/metabolicCartography/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/paint4Net
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/remoteVisualisation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/CnaCobraInterface
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/RAVEN
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/NearestSymmetricPositiveDefinite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/NearestSymmetricPositiveDefinite/NearestSymmetricPositiveDefinite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/NearestSymmetricPositiveDefinite/NearestSymmetricPositiveDefinite/html
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/mve11
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/mve11/MVE_codes
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/mve11/mve_cobra
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/gaussians
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/helper_functions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/fastFVAmex
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/build
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/demo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/graphs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/test
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/graph_analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/lnbin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/mptoolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/octave-networks-toolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/totallyUnimodular
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/install
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/BuildMPS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/json
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/libSBML-5.17-matlab
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/xlwrite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/xlwrite/poi_library
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers/looplessFluxSampler
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers/looplessFluxSampler/fxns
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers/looplessFluxSampler/test models
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/glpkmex
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/gen
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/matlab
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/matlab/test_data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/src
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusolMex32bit
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco/code
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco/doc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/NearestSymmetricPositiveDefinite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/NearestSymmetricPositiveDefinite/html
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/Smith-Decomposition
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/Smith-Decomposition/functions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/dependencyAnalyzer
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/findjobj
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/histogram_distance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/programStatistics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/rdir
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/sloc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/slocDir
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/slocstat
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/textprogressbar
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/dataIntegration/mCADRE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/distinguishable_colors
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/plotregion
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/spyc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/venn
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.artenolis
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/hooks
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/info
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs/heads
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs/remotes
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/2c
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/36
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/39
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/3c
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/47
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/4a
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/4b
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/57
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/63
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/74
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/77
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/7a
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/83
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/8b
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/8f
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/90
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/92
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/96
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/99
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/9d
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b1
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b2
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b3
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b4
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/bf
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/ca
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/d6
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/da
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/dc
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/f4
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/info
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/pack
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/heads
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/remotes
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/tags
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/_static
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/_static/img
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/_static/json
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/modules
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/sphinxext
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/troubleshooting
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/external
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/external/rdir
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/src
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/test
	/Applications/MATLAB_R2019b.app/toolbox/matlab/images
	/Applications/MATLAB_R2019b.app/toolbox/matlab/external/mex
	/Applications/MATLAB_R2019b.app/toolbox/matlab/networklib
	/Applications/MATLAB_R2019b.app/toolbox/matlab/addon_updates/matlab
	/Applications/MATLAB_R2019b.app/toolbox/matlab/parallel
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools/embeddedoutputs
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools/embeddedoutputs/DataToolsRegistration
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools/liveapps
	/Applications/MATLAB_R2019b.app/toolbox/matlab/testframework/measurement/ext
	/Applications/MATLAB_R2019b.app/toolbox/matlab/datatools/importtool/matlab/server
	/Applications/MATLAB_R2019b.app/toolbox/matlab/testframework/unittest/core
	/Applications/MATLAB_R2019b.app/toolbox/matlab/testframework/obsolete
	/Applications/MATLAB_R2019b.app/toolbox/matlab/mex
	/Applications/MATLAB_R2019b.app/toolbox/matlab/cefclient
	/Applications/MATLAB_R2019b.app/toolbox/matlab/connector2/interpreter
	/Applications/MATLAB_R2019b.app/toolbox/matlab/connector2/configuration
	/Applications/MATLAB_R2019b.app/toolbox/matlab/project
	/Applications/MATLAB_R2019b.app/toolbox/matlab/project/example
	/Applications/MATLAB_R2019b.app/toolbox/matlab/project/toolstrip
	/Applications/MATLAB_R2019b.app/toolbox/matlab/parquetio
	/Applications/MATLAB_R2019b.app/toolbox/matlab/graphfun
	/Applications/MATLAB_R2019b.app/toolbox/matlab/timefun
	/Applications/MATLAB_R2019b.app/toolbox/matlab/webcam
	/Applications/MATLAB_R2019b.app/toolbox/matlab/datamanager
	/Applications/MATLAB_R2019b.app/toolbox/matlab/connector2/shadowfiles
	/Applications/MATLAB_R2019b.app/toolbox/matlab/external/interfaces/webservices/wsdl
	/Applications/MATLAB_R2019b.app/toolbox/matlab/plottools/inspector
	/Applications/MATLAB_R2019b.app/toolbox/matlab/datatools/datatoolsservices/matlab
	/Applications/MATLAB_R2019b.app/toolbox/matlab/guide
	/Applications/MATLAB_R2019b.app/toolbox/matlab/a...</div></div></div></div></div><div  class = 'S11'><span>Note that </span><span style=' font-family: monospace;'>path</span><span> is a call to a function with no argument supplied</span></div><div  class = 'S2'><span>Below "number" is a variable, but "path" is a function. This can be overridden, but its not a good idea to mix the names of variables/scripts/functions even though they are arbitrary.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >path=number;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >path</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>path = 1</div></div></div><div class="inlineWrapper"><div  class = 'S17'><span style="white-space: normal"><span >clear </span><span style="color: rgb(170, 4, 249);">path</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >path</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="B2F21C57" data-testid="output_60" data-width="420" data-height="9663" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">		MATLABPATH

	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/code
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/conferences
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/meetings
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/scripts
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v1
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v1/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v2
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/papers/paperFolderTemplate/v2/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/progressReports
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/proposals
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/software
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/code
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/conferences
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/meetings
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/data
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/literature
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/scripts
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v1
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v1/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v2
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/papers/paperFolderTemplate/v2/graphics
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/progressReports
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/proposals
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/results
	/Users/rfleming/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro/projectFolderTemplate/software
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction/data
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction/data/atomMapped
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/atomicallyResolveReconstruction/data/molFiles
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/browseNetwork
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/essentialRxns4MultipleModels
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/FBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/FVA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/gMCS
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/hostMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/microbeMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/minSpan
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/pFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/relaxedFBA/example_relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/relaxedFBABounds
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/robustnessPhPP
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/sensitivityAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/simulateAGORAGrowthInDiets
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/sparseFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/steadyCom
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/uniformSampling
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/uniformSampling/data
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/variationalKinetics
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/vonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/analysis/vonBertalanffy/iAF1260_results
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/engagingWithTheCommunity
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/initialize
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/initializeAndVerify
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/intro
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/IO
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/primer
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/base/verify
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/extractionTranscriptomic
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/extractionTranscriptomic/options_methods
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/metabotools
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/metabotools/tutorial_I
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/metabotools/tutorial_II
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/dataIntegration/uFBA
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optForce
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optForceGAMS
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optGene
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/design/optKnock
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/COBRAconcepts
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/constrainingModels
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/createSubnetworkRecon
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel/part1
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel/part2
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/ecoliCoreModel/part3
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/fastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/fastGapFill/example
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/fidelityTesting
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/leakSiphonModes
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelATPYield
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelCreation
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelManipulation
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelProperties
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/modelSanityChecks
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/numCharact
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/rBioNet
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/rBioNet/examples
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/recon2FBAmodel
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/reconstruction/reconstructionSOP
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/cellDesigner
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/metabolicCartography
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/metabolicCartography/data
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/paint4Net
	/Users/rfleming/work/sbgCloud/code/fork-COBRA.tutorials/visualization/remoteVisualisation
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/hooks
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/info
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs/heads
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs/remotes
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/logs/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/objects
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/objects/info
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/objects/pack
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/heads
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/remotes
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/.git/refs/tags
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/atomTransitionOld
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/bipartiteConversion
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/circuits
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/extremeRays
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/kineticFunction
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/makeModel
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/mitoMap
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/mitoMap/data
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/moietyGraphDecomposition
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/moietyNumberThm
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/moietySplittingPaperExamples
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/monotoneNetwork
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/nikos
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old/fluxconsistency
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old/stoichconsistency
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/old/stoichconsistency/maike-ines
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/signStoichiometry
	/Users/rfleming/work/sbgCloud/programModelling/projects/graphStoich/code/smithNormalForm
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox
	/Users/rfleming/Documents/MATLAB
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/docs/source/notes
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/postSierra
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testFluxConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testMaps
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testModels/testedModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testOptCardinality
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testOpti
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testRelaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testStoichiometricConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testThermo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testTissueModel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testTopology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/additionalTests/testVonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/models
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/models/mat
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/models/xml
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testBiomassPrecursorCheck
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testConnectedComponents
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testCorrespondingRowsCols
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testDeletionStudy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testDynamicFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testEnumerateOptimal
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testExploration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFASTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFASTCORE/testLP9
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFEA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testFindBlockedReaction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testGeneMCS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testGeometricFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testKLdistance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMDFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMOMA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMTA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testMultiSpeciesModelling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testNullspace
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testOptimizeCbModel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testPrint
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testQFCA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testROOM
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testRank
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testRobustnessAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testSampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testSteadyCom
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testSubspaces
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testThermo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testTopology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testTopology/testConvertHypergraphToBipartiteGraph
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testfindMIIS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testpFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testrFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/analysis/testuFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testCardOpt
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testIO
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testIO/testKEGG
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testIO/testUtilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testInstall
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testMPS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testOutputNetworkCytoscape
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testSolvers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testSolvers/NLPscripts
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testTools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testXls2Model
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/base/testwritePajekNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testChemoInformatics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testEFlux
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testFitC13Data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testMetaboTools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testPreprocessing
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/dataIntegration/testSWIFTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design/testGDLS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design/testOptForce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/design/testOptKnock
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testComputeMetFormulae
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testConstraintModifications
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testDetectDeadEnds
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testElementalBalance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testFastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testFastLeakTest
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testGPRLogic
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testGapFind
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testGrowthExpMatch
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testInChI
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testMassChargeBalance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testModelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testModelGeneration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testModelManipulation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/reconstruction/testRBioNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization/testPaint4Net
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization/testReconMap
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/test/verifiedTests/visualization/testVisualizeEpistasis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FVA/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/FVA/fastFVA/logFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/KLdistance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/MOMA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/QFCA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/ROOM
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/coupling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/deletion
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/dynamicFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/exploration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/exploration/surfNetSubfunctions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/findMIIS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/fluxEnrichmentAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/gMCS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/geometricFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/mdFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/SteadyCom
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/SteadyCom/subroutines
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox/additionalAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox/mgPipe
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/multiSpecies/microbiomeModelingToolbox/pairwiseInteractionModeling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/parsimoniousFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/rFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/rMTA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/robustnessAnalysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/rumba
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sampling/ACHR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sampling/CHRR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/sparseFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/lsqr
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/nullspace
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/nullspace/remote
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/rank
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/rowReduce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/subspaces/subspaceProjection
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution/cache
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/directionalityReport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/directionalityReport/old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/alberty2006
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/ecoli
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/groupContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/metaboliteConcentrations
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/reconstructions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalData/transport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/experimentalDesign
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/groupContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/inchi
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/molFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/protons
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/reactantContribution
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/thermoFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/transport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/vonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/FR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/conservedMoieties
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays/lrs/lrsInterface
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/extremeRays/optimalRays
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/topology/graphHypergraphConversion
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/transport
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/uFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/install
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/BiGG
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/KEGG
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/definitions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/io/utilities/SBML
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt/sparseLP
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt/sparseLP/old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/cardOpt/tangiCode
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin/BDCAmethods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin/derFreeMethods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/solvers/varKin/levMarMethods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/base/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/chemoInformatics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/fluxomics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/fluxomics/atomTransition
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/fluxomics/c13solver
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/metabotools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/FASTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/GIMME
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/INIT
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/MBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/SWIFTCORE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/eFlux
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/iMAT
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/dataIntegration/transcriptomics/preprocessing
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/design/optForce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/design/optForceGAMS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/comparison
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/comparison/modelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/comparison/modelBorgifier/gui
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/fastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/fastGapFill/AuxillaryFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/growthExpMatch
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/fluxConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/fluxConsistency/DCA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/fluxConsistency/GREEDY
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/massBalance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/massBalance/basicPhysicochemicalData
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/modelProperties
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/modelVerification
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/modelGeneration/stoichConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/rBioNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/rBioNet/gui
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/refinement
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/reconstruction/refinement/GPRLogic
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/cellDesigner
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/maps
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/maps/ReconMap
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/metabolicCartography
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/paint4Net
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/paint4Net/Draw_by_met
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/paint4Net/Draw_by_rxn
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/visualization/visualizeEpistasis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_cardOpt_tangiCode
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_directionalityReport_old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_fluxomics_obsolete
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_io_depreciated
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_maps_old
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_maps_old/tools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_testDependencyStructure
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_thermo_old_data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_topology
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_topology/FR
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/deprecated/_topology/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/DQQ
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/bin/minos
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/glnxa64/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/DQQ
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/bin/minos
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/maci64/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win32/lib/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/bin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/bin/fastFVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/bin/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/lib
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/binary/win64/lib/lrs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2013_Recon2
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2015_fluxConcentrationDuality
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2015_fluxConcentrationDuality/iMM904
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2017_AGORA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2017_AGORA/checkStoichFluxConsistency
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_DecisionsTranscriptomicIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_microbiomeModelingToolbox/examples
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/papers/2018_modelClassifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/.artenolis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/.template
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/FBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/FVA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction/data/atomMapped
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/atomicallyResolveReconstruction/data/molFiles
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/browseNetwork
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/essentialRxns4MultipleModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/gMCS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/hostMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/microbeMicrobeInteractions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/microbiomeModelingToolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/minSpan
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/pFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/relaxedFBA/example_relaxedFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/relaxedFBABounds
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/robustnessPhPP
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/simulateAGORAGrowthInDiets
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/sparseFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/steadyCom
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/uniformSampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/uniformSampling/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/variationalKinetics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/vonBertalanffy
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/analysis/vonBertalanffy/iAF1260_results
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base/IO
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base/engagingWithTheCommunity
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/base/initializeAndVerify
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/extractionTranscriptomic
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/extractionTranscriptomic/options_methods
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/metabotools
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/metabotools/tutorial_I
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/metabotools/tutorial_II
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/dataIntegration/uFBA
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optForce
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optForceGAMS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optGene
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/design/optKnock
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/COBRAconcepts
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/constrainingModels
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/createSubnetworkRecon
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel/part1
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel/part2
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/ecoliCoreModel/part3
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/fastGapFill
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/fastGapFill/example
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/fidelityTesting
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/leakSiphonModes
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelATPYield
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelBorgifier
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelCreation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelManipulation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelProperties
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/modelSanityChecks
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/numCharact
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/rBioNet
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/rBioNet/examples
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/recon2FBAmodel
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/reconstruction/reconstructionSOP
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/cellDesigner
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/metabolicCartography
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/metabolicCartography/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/paint4Net
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/tutorials/visualization/remoteVisualisation
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/CnaCobraInterface
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/RAVEN
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/NearestSymmetricPositiveDefinite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/NearestSymmetricPositiveDefinite/NearestSymmetricPositiveDefinite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/NearestSymmetricPositiveDefinite/NearestSymmetricPositiveDefinite/html
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/mve11
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/mve11/MVE_codes
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/external/mve11/mve_cobra
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/gaussians
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/Volume-and-Sampling/helper_functions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/fastFVAmex
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/build
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/demo
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/graphs
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/gaimc/test
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/graph_analysis
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/lnbin
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/mptoolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/octave-networks-toolbox
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/analysis/totallyUnimodular
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/install
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/BuildMPS
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/json
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/libSBML-5.17-matlab
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/xlwrite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/io/xlwrite/poi_library
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers/looplessFluxSampler
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers/looplessFluxSampler/fxns
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/samplers/looplessFluxSampler/test models
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/glpkmex
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/gen
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/matlab
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/matlab/test_data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusol/src
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/lusolMex32bit
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco/code
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco/data
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/solvers/pdco/doc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/NearestSymmetricPositiveDefinite
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/NearestSymmetricPositiveDefinite/html
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/Smith-Decomposition
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/Smith-Decomposition/functions
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/dependencyAnalyzer
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/findjobj
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/histogram_distance
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/programStatistics
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/rdir
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/sloc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/slocDir
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/slocstat
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/base/utilities/textprogressbar
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/dataIntegration
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/dataIntegration/mCADRE
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/design
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/reconstruction
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/distinguishable_colors
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/plotregion
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/spyc
	/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/external/visualization/venn
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.artenolis
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/hooks
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/info
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs/heads
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs/remotes
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/logs/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/2c
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/36
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/39
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/3c
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/47
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/4a
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/4b
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/57
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/63
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/74
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/77
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/7a
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/83
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/8b
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/8f
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/90
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/92
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/96
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/99
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/9d
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b1
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b2
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b3
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/b4
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/bf
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/ca
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/d6
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/da
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/dc
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/f4
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/info
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/objects/pack
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/heads
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/remotes
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/remotes/origin
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/.git/refs/tags
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/_static
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/_static/img
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/_static/json
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/modules
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/sphinxext
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/docs/source/troubleshooting
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/external
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/external/rdir
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/src
	/Users/rfleming/work/sbgCloud/code/MATLAB.devTools/test
	/Applications/MATLAB_R2019b.app/toolbox/matlab/images
	/Applications/MATLAB_R2019b.app/toolbox/matlab/external/mex
	/Applications/MATLAB_R2019b.app/toolbox/matlab/networklib
	/Applications/MATLAB_R2019b.app/toolbox/matlab/addon_updates/matlab
	/Applications/MATLAB_R2019b.app/toolbox/matlab/parallel
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools/embeddedoutputs
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools/embeddedoutputs/DataToolsRegistration
	/Applications/MATLAB_R2019b.app/toolbox/matlab/codetools/liveapps
	/Applications/MATLAB_R2019b.app/toolbox/matlab/testframework/measurement/ext
	/Applications/MATLAB_R2019b.app/toolbox/matlab/datatools/importtool/matlab/server
	/Applications/MATLAB_R2019b.app/toolbox/matlab/testframework/unittest/core
	/Applications/MATLAB_R2019b.app/toolbox/matlab/testframework/obsolete
	/Applications/MATLAB_R2019b.app/toolbox/matlab/mex
	/Applications/MATLAB_R2019b.app/toolbox/matlab/cefclient
	/Applications/MATLAB_R2019b.app/toolbox/matlab/connector2/interpreter
	/Applications/MATLAB_R2019b.app/toolbox/matlab/connector2/configuration
	/Applications/MATLAB_R2019b.app/toolbox/matlab/project
	/Applications/MATLAB_R2019b.app/toolbox/matlab/project/example
	/Applications/MATLAB_R2019b.app/toolbox/matlab/project/toolstrip
	/Applications/MATLAB_R2019b.app/toolbox/matlab/parquetio
	/Applications/MATLAB_R2019b.app/toolbox/matlab/graphfun
	/Applications/MATLAB_R2019b.app/toolbox/matlab/timefun
	/Applications/MATLAB_R2019b.app/toolbox/matlab/webcam
	/Applications/MATLAB_R2019b.app/toolbox/matlab/datamanager
	/Applications/MATLAB_R2019b.app/toolbox/matlab/connector2/shadowfiles
	/Applications/MATLAB_R2019b.app/toolbox/matlab/external/interfaces/webservices/wsdl
	/Applications/MATLAB_R2019b.app/toolbox/matlab/plottools/inspector
	/Applications/MATLAB_R2019b.app/toolbox/matlab/datatools/datatoolsservices/matlab
	/Applications/MATLAB_R2019b.app/toolbox/matlab/guide
	/Applications/MATLAB_R2019b.app/toolbox/matlab/a...</div></div></div></div></div><div  class = 'S11'><span></span></div><div  class = 'S2'><span>The optional elseif and else keywords provide for the execution of alternate groups of statements.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >A = 0.5;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >B = rand(1)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>B = 0.7948</div></div></div><div class="inlineWrapper"><div  class = 'S17'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >A &gt; B</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >   </span><span style="color: rgb(170, 4, 249);">'greater'</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">elseif </span><span >A &lt; B</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >   </span><span style="color: rgb(170, 4, 249);">'less'</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">elseif </span><span >A == B</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >   </span><span style="color: rgb(170, 4, 249);">'equal'</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsVariableStringElement" uid="B689D9F2" data-testid="output_62" data-width="420" data-height="20" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><span class="variableNameElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ans = </span>'less'</div></div></div></div></div></div><div  class = 'S11'><span> To select from a number of possible options depending on the value of an expression, use the  </span><span style=' font-family: monospace;'>switch</span><span> and </span><span style=' font-family: monospace;'>case</span><span> statements (which may include otherwise).</span></div><div  class = 'S2'><span>e.g. Load data into matlab depending on the numerical value of "number"</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >number = 2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">switch </span><span >number</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    </span><span style="color: rgb(14, 0, 255);">case </span><span >1</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >        </span><span style="color: rgb(2, 128, 9);">%matlab structure</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >        load(which(</span><span style="color: rgb(170, 4, 249);">'ecoli_core_model.mat'</span><span >))</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >        disp(model.description)</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    </span><span style="color: rgb(14, 0, 255);">case </span><span >2</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >        disp(</span><span style="color: rgb(170, 4, 249);">'wrong number'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="498C6E57" data-testid="output_63" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">wrong number</div></div></div></div></div><h4  class = 'S14' id = 'H_06E3A484' ><span>Loop Control</span></h4><div  class = 'S2'><span style=' font-family: monospace;'>for, while, break.</span></div><div  class = 'S2'><span>With loop control statements, you can repeatedly execute a block of code, looping back through the  block while keeping track of each iteration with an incrementing index variable. </span></div><div  class = 'S2'><span>Use the for statement to loop a specific number of times.  The for loop executes a statement or group of statements a predetermined number of times. Its syntax is</span></div><div  class = 'S2'><span style=' font-family: monospace;'>for index = start:increment:end</span></div><div  class = 'S2'><span style=' font-family: monospace;'>   statements</span></div><div  class = 'S2'><span style=' font-family: monospace;'>end</span></div><div  class = 'S2'><span></span></div><div  class = 'S2'><span>The default increment is 1. You can specify any increment, including a negative one. For positive indices, execution terminates when the value of the index exceeds the end value; for negative increments, it terminates when the index is less than the end value. </span></div><div  class = 'S2'><span>For example, this loop executes five times.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >x=2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">for </span><span >n = 2:6</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    x(n) = 2 * x(n - 1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div  class = 'S11'><span>You can nest multiple for loops.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">for </span><span >m = 1:5</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    </span><span style="color: rgb(14, 0, 255);">for </span><span >n = 1:6</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >        A(m, n) = 1/(m + n - 1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S15'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div  class = 'S11'><span>The while statement is more suitable for basing the loop execution on how long a condition continues to be true or false. The while loop executes a statement or group of statements repeatedly as  long as the controlling expression is true (1). Its syntax is</span></div><div  class = 'S2'><span style=' font-family: monospace;'>while expression</span></div><div  class = 'S2'><span style=' font-family: monospace;'>     statements</span></div><div  class = 'S2'><span style=' font-family: monospace;'>end</span></div><div  class = 'S2'><span>For example, this while loop finds the first integer n for which n! (n factorial) is a 20-digit number.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >n = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">while </span><span >prod(1:n) &lt; 1e20</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    n = n + 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >disp(n)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="41238CD9" data-testid="output_64" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    22</div></div></div></div></div><div  class = 'S11'><span>Exit a while loop at any time using the break statement.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S8'><span style="white-space: normal"><span >n = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">while </span><span >prod(1:n) &lt; 1e20</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    n = n + 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    </span><span style="color: rgb(14, 0, 255);">if </span><span >n &gt; 10</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >        </span><span style="color: rgb(14, 0, 255);">break</span><span >;</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span >    </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S18'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S9'><span style="white-space: normal"><span >disp(n)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2550F061" data-testid="output_65" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">    11</div></div></div></div></div><h4  class = 'S14' id = 'H_78222D7D' ><span>Internal MATLAB Functions</span></h4><div  class = 'S2'><span>Many of the functions provided with the MATLAB software are implemented as M-files just like the  M-files that you will create with MATLAB. Other MATLAB functions are precompiled executable programs called built-ins that run much more efficiently. </span></div><div  class = 'S2'><span>If you are wondering if a function is already provided with your matlab distribution, then the easiest way to find it is to use the matlab help browser</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S12'><span style="white-space: normal"><span style="color: rgb(2, 128, 9);">% docsearch</span></span></div></div></div><div  class = 'S11'><span>Ideally each function is given a unique name, however, sometimes, certain function names are reused. The use of an unintended version of a function is a rare problem, but difficult to spot when it occurs.</span></div><div  class = 'S2'><span>Usually, you will not notice something working correctly. When other issues have been ruled out, it is useful to rule out the possibility that one is using an incorrect version of a function</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >which </span><span style="color: rgb(170, 4, 249);">-all initCobraToolbox</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="29C4720B" data-testid="output_66" data-width="420" data-height="18" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">/Users/rfleming/work/sbgCloud/code/fork-cobratoolbox/initCobraToolbox.m</div></div></div></div></div><div  class = 'S11'><span>This lists all the versions of functions named </span><span style=' font-family: monospace;'>initCobraToolbox</span><span> in your matlab installation, after the current path, the version used is the first in this list.</span></div><h4  class = 'S14' id = 'H_756F19FC' ><span>Custom MATLAB functions.</span></h4><div  class = 'S2'><span>The COBRA toolbox is but one example of a suite of custom matlab functions. There are thousands of custom functions generated by others online at matlab central file exchange </span><a href = "http://www.mathworks.com/matlabcentral/fileexchange/"><span>http://www.mathworks.com/matlabcentral/fileexchange/</span></a></div><div  class = 'S2'><span>Functions vs Scripts vs Narriatives (live scripts)</span></div><div  class = 'S2'><span>When you write a MATLAB function or script, you save it to a file called an M-file (named after its .m file extension).</span></div><div  class = 'S2'><span>When you write a MATLAB narritive (live script), you save it to a file with a suffix .mlx</span></div><div  class = 'S2'><span>Feedback to the command line, most simply with the command</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >disp(</span><span style="color: rgb(170, 4, 249);">'some feedback'</span><span >)</span></span></div><div  class = 'S10'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E299CE21" data-testid="output_67" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">some feedback</div></div></div></div></div><div  class = 'S11'><span>is essential to keep an eye on the progres of the function. Similarly, writting comments into the code is essential for quickly understanding what is going on, especially at a later date, when one might have forgotten what the function was for. Note the description of input and output, these will allow other users to uitilize the code, even if they are not totally familiar with the inner details.</span></div><h2  class = 'S1' id = 'H_DA1131E2' ><span>TROUBLESHOOTING</span></h2><div  class = 'S2'><span style=' font-style: italic;'>There are three types of things that can go wrong:</span></div><h4  class = 'S14' id = 'H_B0BAF1E8' ><span style=' font-style: italic;'>Errors</span></h4><div  class = 'S2'><span style=' font-style: italic;'>Errors cause MATLAB to stop execution and no further commands are evaluated. For example, </span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S13'><span style="white-space: normal"><span >[nMets, nRxns] = size(model.S)</span></span></div><div  class = 'S10'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>nMets = 72</div><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>nRxns = 95</div></div></div><div class="inlineWrapper"><div  class = 'S20'><span style="white-space: normal"><span style="color: rgb(2, 128, 9);">% model.S(nMets+1,nRxns)</span></span></div></div></div><div  class = 'S11'><span>will return red writing saying "Index exceeds array bounds." which means that we tried to evaluate a stoichiometric coefficient in the 73rd row of the stoichiometric matrix, but there are only 72 rows in it so an error returns.</span></div><div  class = 'S2'><span>MATLAB comes with a powerful graphical debugging facility that will help to track down the source of errors. Essentially, the idea is to pause the evaulation on the line before an error is thrown and work backwards to investigate, i.e., debug, the preceeding code. </span></div><h4  class = 'S14' id = 'H_8D3308F8' ><span>Warnings</span></h4><div  class = 'S2'><span>Warnings also return red text but are an indication that something is not exactly right but matlab can proceed with evaluating further lines by making some assumption, though it is wise to check where the warning was initiated from and adjust ones code to avoid it.</span></div><h4  class = 'S14' id = 'H_3705049D' ><span>Logical errors</span></h4><div  class = 'S2'><span>A logical error is when the code evaluates fine but the actual evaulation does not correspond to what the programmer had intended. i.e. it is a mistake by the programmer, that is still evaluatable by matlab, but not an intended computational action. These mistakes are the hardest to find. </span></div><div  class = 'S2'><span>One way to combat logical errors is to add lots of </span><span style=' font-weight: bold;'>sanity checks</span><span> to the code, e.g., if something does not work as expected, there should be some lines of code to check for this and either issue a warning or an error if there is a problem. This allows a user to straight away find the origin of a problem what would otherwise be propagated downstream, making it much harder to track back to the problem(s).</span></div><h2  class = 'S1' id = 'H_D94AD52B' ><span>TIMING</span></h2><div  class = 'S2'><span style=' font-style: italic;'>1 hr for a beginner.</span></div><h2  class = 'S1' id = 'H_5DD32EB2' ><span>ANTICIPATED RESULTS</span></h2><div  class = 'S2'><span style=' font-style: italic;'>Beginners knowledge of matlab, esp those parts important for starting to use the COBRA toolbox.</span></div><h2  class = 'S1' id = 'H_69B7C06E' ><span style=' font-style: italic;'>Acknowledgments</span></h2><div  class = 'S2'><span style=' font-style: italic;'>Please note an acknowledgments section can be included.</span></div><h2  class = 'S1' id = 'H_9D7167A1' ><span>REFERENCES</span></h2><div  class = 'S2'><span>Laurent Heirendt &amp; Sylvain Arreckx, Thomas Pfau, Sebastian N. Mendoza, Anne Richelle, Almut Heinken, Hulda S. Haraldsdottir, Jacek Wachowiak, Sarah M. Keating, Vanja Vlasov, Stefania Magnusdottir, Chiam Yu Ng, German Preciat, Alise Zagare, Siu H.J. Chan, Maike K. Aurich, Catherine M. Clancy, Jennifer Modamio, John T. Sauls, Alberto Noronha, Aarash Bordbar, Benjamin Cousins, Diana C. El Assal, Luis V. Valcarcel, Inigo Apaolaza, Susan Ghaderi, Masoud Ahookhosh, Marouen Ben Guebila, Andrejs Kostromins, Nicolas Sompairac, Hoai M. Le, Ding Ma, Yuekai Sun, Lin Wang, James T. Yurkovich, Miguel A.P. Oliveira, Phan T. Vuong, Lemmer P. El Assal, Inna Kuperstein, Andrei Zinovyev, H. Scott Hinton, William A. Bryant, Francisco J. Aragon Artacho, Francisco J. Planes, Egils Stalidzans, Alejandro Maass, Santosh Vempala, Michael Hucka, Michael A. Saunders, Costas D. Maranas, Nathan E. Lewis, Thomas Sauter, Bernhard Ø. Palsson, Ines Thiele, Ronan M.T. Fleming, </span><span style=' font-weight: bold;'>Creation and analysis of biochemical constraint-based models: the COBRA Toolbox v3.0</span><span>, Nature Protocols, volume 14, pages 639–702, 2019 </span><a href = "https://doi.org/10.1038/s41596-018-0098-2"><span>doi.org/10.1038/s41596-018-0098-2</span></a><span>.</span></div><div  class = 'S2'></div>
<br>
<!-- 
##### SOURCE BEGIN #####
%% Introduction to MATLAB
%% Author(s): Ronan Fleming, Leiden University
%% Reviewer(s): 
%% INTRODUCTION
% _The purpose of this tutorial is to introduce a novice to progamming in MATLAB, 
% with a view towards using the COBRA toolbox._
%% Good Laboratory Practice for computational work
% *Reproducibility*
%% 
% * computational results must be confirmed to be reproducible before anything 
% is submitted for publication
% * before anything is submitted for publication someone independent should 
% check to confirm that your code can reproduce your results (including figures 
% and tables) so make sure to construct a computational pipeline for each paper 
% in a clear way with almost no manual steps (some exceptions e.g. install version 
% x of some program)
% * make sure everything is fully documented
%% 
% Self contained
% 
% Understandable by others = used by others
% 
% Separation of data from code (functions, scripts, narratives)
% 
% Separation of raw data from computationally derived data
% 
% Separation of functions from scripts and narratives
%% MATERIALS - EQUIPMENT SETUP
% Please ensure that all the required dependencies (e.g. , |git| and |curl|) 
% of The COBRA Toolbox have been properly installed by following the installation 
% guide <https://opencobra.github.io/cobratoolbox/stable/installation.html here>. 
% Please ensure that the COBRA Toolbox has been initialised (tutorial_initialize.mlx) 
% and verify that the pre-packaged LP and QP solvers are functional (tutorial_verify.mlx).
%% PROCEDURE
% Define the directory of your project. Use a name like |projectFolderName|, 
% with no spaces so one can easily naigate to it from a terminal. In this case, 
% the location of the |matlabIntro| folder, which is unique to each person's system: 

%projectFolderPath='~/drive/2019_BioSB_Constraint-Based_Modelling_Course/materials/practicals/matlabIntro';
projectFolderPath='~/work/sbgCloud/courses/2019_Leiden_COBRA/practicals/matlabIntro'
%% 
% Recursively add all directories below a given path to the matlab path, so 
% that matlab can find them:

addpath(genpath(projectFolderPath))
%% 
% Check that the E. coli core model is accessible from the matlab path. This 
% command should return the path to the E. coli core model:

which ecoli_core_model.mat
%% 
% This model should not be accessible and will give 'not found'

which NOT_ecoli_core_model.mat
%% 
% Change the current matlab folder to the matlabIntro folder

cd(projectFolderPath)
%% 
% Ideally a project folder should be a locally synchronised copy of a folder 
% on a cloud server, e.g., owncloud.org
% (Computational) project organisation
% Start organised, stay organised.
% 
% Observe the folder structure of this directory:

dir(projectFolderPath)
%% 
% *code*
% 
% Ideally, version controlled clone of a remote repositiory containing all code 
% for a project.
% 
% e.g. implementation approach:
% 
% For each new project, one person leading a project should do this:
% 
% (1) set the desktop client for the cloud server to ignore folders named 'code'
% 
% (1) Create a new project folder by making a copy of a projectFolderTemplate, 
% then give it a short name specific to the project, e.g., |thermoModel|
% 
% |$ mkdir ~/work/projects/thermoModel|
% 
% (2) Create a new repo with the name of the project folder.
% 
% e.g. @github.com
% 
% (3) Clone the new repo into the code folder for your new project|$| 
% 
% |$ cd ~/work/projects/thermoModel|   
% 
% |$ mkdir code  
% 
% $ git clone git@github.com:thermoModel.git code|  
% 
% This way, the rest of the project files are synced with a cloud server but 
% version control is selectively used to sync the code for a project and both 
% are kept together in the same project folder locally.
% 
% *literature* 
%% 
% * books, papers, with the title as the name of the pdf
% * bibliography management system for the citation key to be standard across 
% papers
%% 
% *conferences* 
%% 
% * presentations at conferences
%% 
% *data*
%% 
% * all data used as input to a project in the exact form it was used without 
% modification
% * traceability
%% 
% *results*
%% 
% * computational results generated from a project, well organised in subfolders
% * e.g. supplementary data, all figures and tables
% * *DO NOT mix data with results*
%% 
% *progressReports*
%% 
% * Reports of progress to funding agencies
%% 
% *meetings*
%% 
% * record of meetings concerning a project, e.g., whiteboard images, or google 
% docs link, cross reference to project specific thread, e.g. slack
%% 
% *papers*
%% 
% * scientific papers concerning a project
% * narratives can be provided as supplementary material  
%% MATLAB 
% *Editor/Live editor:* 

% edit tutorial_intro_to_matlab.mlx
%% 
% * scripts (.m) and narriatives (.mlx) are specific to a project
% * scripts generate all their results as objects separate from the code
% * narratives generate all their results as objects embedded with the corresponding 
% code and textual descriptions, including (latex) equations, if necessary.
% * narratives are very useful for generation of supplementary files (e.g. can 
% also be exported as pdfs)
% * functions (.m) - may be generated during a project but should be written 
% in a way that they can be reused for other project and ultimately moved to a 
% generic software suite, e.g., the COBRA toolbox
%% 
% *Command window:* use for testing single lines, otherwise, for reproducibility, 
% use narratives (live scripts)
% 
% For example, do a simple multiplication on the command line:

2*3
%% 
% *Current folder:* files are accessible to matlab from this folder even if 
% it has not been added to the matlab path. Check the current folder by typing 
% the following into the command window:

pwd
%% 
% *Workspace:* a workspace is a set of data currently accessible from within 
% MATLAB. Make sure to show at least the following columns: Name; Value; Size; 
% Class

whos
%% 
% Getting help: various approaches possible
% 
% 1) MATLAB > Help
% 
% 2) Enter is* into the search pane in the matlab help window to see many more.
% 
% 3) <https://uk.mathworks.com/help/matlab/index.html MATLAB Help website>
% 
% 4) help functionName on the command line

help pwd
%% PROGRAMMING
% *Data representation*
% 
% Data is represented in MATLAB as "variables" with unique names (upto 63 characters) 
% within each workspace.
% 
% Load a workspace (|.mat| file) into the current workspace containing a COBRA 
% model. 

load 'ecoli_core_model.mat';
%% 
% For reproducibility, do this programmatically rather than manually (point 
% and click).
% 
% Note that the proper way to load a model into The COBRA Toolbox is to use 
% the |readCbModel| function. For example, to load a model from a MAT-file, you 
% can simply use the filename (with or without file extension). 
% 
% *Variables*
% 
% Like most other programming languages, the MATLAB language provides mathematical 
% expressions, but unlike most programming languages, these expressions may involve 
% entire matrices. 
% 
% MATLAB does not require any type declarations or dimension statements. 
% 
% When MATLAB encounters a new variable name, it automatically creates the variable 
% and allocates the appropriate amount of storage. Preallocation of memory makes 
% certain things more efficient, but is not essential.
% 
% If the variable already exists, MATLAB changes its contents and, if necessary, 
% allocates new storage. For example, this code creates a double precision scalar 
% (1-by-1 matrix) named |num_students| and stores the value 25 in its single element.

num_students = 25;
%% 
% To view the data assigned to any variable, simply enter the variable name.

num_students
%% 
% Note that adding ; after a command supresses default output.
% 
% Variable names consist of a letter, followed by any number of letters, digits, 
% or underscores. 

% 1badVariableName = num_students
goodVariableName1 = num_students;
%% 
% MATLAB is case sensitive; it distinguishes between uppercase and lowercase 
% letters. 

GoodVariableName1 = 'first_captial';
%% 
% Confirm:

goodVariableName1
GoodVariableName1
%% 
% The E. coli core metabolic model structure combines many of the classes of 
% data used in MATLAB.

load 'ecoli_core_model.mat';
originalModel = model;
%% 
% *Structures*
% 
% A |structure| is a multidimensional MATLAB arrays with elements accessed by 
% textual |field| designators.
% 
% The contents of the E. coli core metabolic model structure can be seen line 
% by entering the name of the variable corresponding to it, without a following 
% semi-colon

model
%% 
% The contents of the field name can be accessed by appending the field name 
% to the structure name with a . in between.
% 
% To return a short description of the model

description = model.description
%% 
% To return the size of the stoichiometric matrix

size(model.S)
% Character arrays
% A character array is a string of characters

newChar =  'EX_o2(e)' 
%% 
% |newChar| is now the name of a variable of class character

newChar2 =  'EX_o2(e)' 
%% 
% newChar2 is now also the name of a variable of class character.
% 
% A range of functions exist to test the class of a variable 

class(newChar)
ischar(newChar2)
%% 
% Character arrays can be concatenated

A = 'EX'
B = '_'
C = 'o2(e)'
%% 
% Concatenation

ABC = [A, B, C]
% Numeric Arrays
% Numeric Array: Scalar

num_students
%% 
% Numeric Array: Vector

lb = model.lb; 
%% 
% lb is a column vector

size(lb)
%% 
% Use the transpose operator to switch rows to columns

lb=lb';
size(lb)
%% 
% Numeric Array: Matrix

S = model.S; 
%% 
% By convention, the number of rows in S is equal to the number of metabolites, 
% and number of columns is equal to the number of reactions:

[nMets,nRxns] = size(S)
%% 
% The spy function can be used to see a pictoral representation of S

spy(S)
%% 
% You can enter matrices into MATLAB in several different ways:
%% 
% * Enter an explicit list of elements.
% * Load matrices from external data files.
% * Generate matrices using built-in functions. e.g. magic(3,4)
% * Create matrices with your own functions in M-files.
%% 
% Start by entering a matrix as a list of its elements. You only have to follow 
% a few basic conventions:
%% 
% * Separate the elements of a row with blanks or commas.
% * Use a semicolon, ; , to indicate the end of each row. 
% * Surround the entire list of elements with square brackets, [ ].

S = [-1 1; 1 -1]
%% 
% Cell array

rxnNames = model.rxnNames
%% 
% |rxnNames| is now a variable name of class cell array containing reaction 
% names in a model
% 
% Creating cell array

someArray = {'The' ; 'number'; 10}
%% 
% Note that cell arrays can contain character arrays or numbers, whereas numeric 
% arrays can only contain numbers.
% 
% There are different ways for accessing cell arrays.
% 
% Accessing the entries of arrays with numeric indexes (Note the {} brackets): 

aname = rxnNames{36}
class(aname)
bool = false(nRxns,1);
bool(36) = 1;
aname2 = rxnNames{bool}
class(aname2)
aname3 = rxnNames(bool)
class(aname2)
%% 
% Accessing numeric arrays, e.g., upper and lower bounds on the O2 exchange 
% reaction

model.lb(36)
model.ub(36)
%% 
% same as 

lb = model.lb;
ub = model.ub;
lb(36)
ub(36)
%% 
% same as

model.lb(bool)
model.ub(bool)
%% 
% The Colon Operator
% 
% The colon : is one of the most important MATLAB operators. It occurs in several 
% different forms. The expression |1:10| is a row vector containing the integers 
% from 1 to 10:

1:10 
%% 
% 1     2     3     4     5     6     7     8     9    10
% 
% To obtain nonunit spacing, specify an increment. For example,

100:-7:50
%% 
% Subscript expressions involving colons refer to portions of a matrix:

S(1:end,2)
%% 
% Logical classes
% 
% The logical data type represents a logical true or false state using the numbers 
% 1 and 0, respectively. 
% 
% Certain MATLAB functions and operators return logical true or false to indicate 
% whether a certain  condition was found to be true or not. For example, the statement 
% 50>40 returns a logical true value.

10 < 4
%% 
% Logical data does not have to be scalar; MATLAB supports arrays of logical 
% values as well. 

r34 = rand(3,4)
r34 > 0.5
%% 
% Logical indexing - the most powerful way to access any form of array. Find 
% all the reactions which produce or consume oxygen

model.rxns{model.S(57,:)~=0}
%% Exercise 1: investigate the E. coli model
% In the E. coli model, find all the metabolites produced and consumed in the 
% 'glutamine synthetase' reaction?
% 
% What is the stoichiometry of the reaction?
% Operators/Scripts/Functions

clear
load ecoli_core_model.mat
% Basic Command Syntax
% A simple MATLAB command computes the result of the expression to the right 
% of the equals sign and  assigns the value of the result to the output variable 
% at the left. 

%edit templateFunction.m
%% 
% The MATLAB software reserves certain words for its own use as keywords of 
% the language, e.g., |is, and, for...|
% 
% Several functions return important special values that you can use in your 
% M-files. e.g. NaN means Not a Number and helps to distinguish between no output 
% and empty:

a = []
isempty(a)
a = NaN;
isempty(a)
isfinite(NaN)
% Operators
% Arithmetic Operators - + ./ .* / * etc
% 
% Relational Operators == ~= <= < > >= 
% 
% Boolean operators & (and) | (or) ~ (not)
% 
% There is a big difference between "=" and "==". The former is an assignment 
% operator, whilst the latter is a logical expression;
% 
% The examples shown in the following table use vector inputs A and B, where

A = [0 1 1 0 1];
B = [1 1 0 0 1];
%% 
% The |&| operator Returns 1 for every element location that is true (nonzero) 
% in both arrays, and 0 for all other elements.

A & B
%% 
% The ||| operator returns 1 for every element location that is true (nonzero) 
% in either one or the other, or both arrays, and 0 for all other elements.

A | B
%% 
% The |~| operator gives the complement of each element of the input array, 
% A.

~A
% Conditional Control
% |if, end, switch|
% 
% This group of control statements enables you to select at run-time which block 
% of code is executed. 
% 
% Combined, "if" and "end" is the most basic form of flow control statement. 
% The if statement evaluates  a logical expression and executes a group of statements 
% when the expression is true. An end keyword, which matches the if, terminates 
% the last group of statements. 

number = 1;
if number == 0
   path
end
%% 
% Alternatively...

if number ~= 0
   path
end
%% 
% Note that |path| is a call to a function with no argument supplied
% 
% Below "number" is a variable, but "path" is a function. This can be overridden, 
% but its not a good idea to mix the names of variables/scripts/functions even 
% though they are arbitrary.

path=number;
path
clear path
path
%% 
% 
% 
% The optional elseif and else keywords provide for the execution of alternate 
% groups of statements.

A = 0.5;
B = rand(1)
if A > B
   'greater'
elseif A < B
   'less'
elseif A == B
   'equal'
end
%% 
% To select from a number of possible options depending on the value of an expression, 
% use the  |switch| and |case| statements (which may include otherwise).
% 
% e.g. Load data into matlab depending on the numerical value of "number"

number = 2;
switch number
    case 1
        %matlab structure
        load(which('ecoli_core_model.mat'))
        disp(model.description)
    case 2
        disp('wrong number')
end
% Loop Control
% |for, while, break.|
% 
% With loop control statements, you can repeatedly execute a block of code, 
% looping back through the  block while keeping track of each iteration with an 
% incrementing index variable. 
% 
% Use the for statement to loop a specific number of times.  The for loop executes 
% a statement or group of statements a predetermined number of times. Its syntax 
% is
% 
% |for index = start:increment:end|
% 
% |statements|
% 
% |end|
% 
% 
% 
% The default increment is 1. You can specify any increment, including a negative 
% one. For positive indices, execution terminates when the value of the index 
% exceeds the end value; for negative increments, it terminates when the index 
% is less than the end value. 
% 
% For example, this loop executes five times.

x=2;
for n = 2:6
    x(n) = 2 * x(n - 1);
end
%% 
% You can nest multiple for loops.

for m = 1:5
    for n = 1:6
        A(m, n) = 1/(m + n - 1);
    end
end
%% 
% The while statement is more suitable for basing the loop execution on how 
% long a condition continues to be true or false. The while loop executes a statement 
% or group of statements repeatedly as  long as the controlling expression is 
% true (1). Its syntax is
% 
% |while expression|
% 
% |statements|
% 
% |end|
% 
% For example, this while loop finds the first integer n for which n! (n factorial) 
% is a 20-digit number.

n = 1;
while prod(1:n) < 1e20
    n = n + 1;
end
disp(n)
%% 
% Exit a while loop at any time using the break statement.

n = 1;
while prod(1:n) < 1e20
    n = n + 1;
    if n > 10
        break;
    end
end
disp(n)
% Internal MATLAB Functions
% Many of the functions provided with the MATLAB software are implemented as 
% M-files just like the  M-files that you will create with MATLAB. Other MATLAB 
% functions are precompiled executable programs called built-ins that run much 
% more efficiently. 
% 
% If you are wondering if a function is already provided with your matlab distribution, 
% then the easiest way to find it is to use the matlab help browser

% docsearch
%% 
% Ideally each function is given a unique name, however, sometimes, certain 
% function names are reused. The use of an unintended version of a function is 
% a rare problem, but difficult to spot when it occurs.
% 
% Usually, you will not notice something working correctly. When other issues 
% have been ruled out, it is useful to rule out the possibility that one is using 
% an incorrect version of a function

which -all initCobraToolbox
%% 
% This lists all the versions of functions named |initCobraToolbox| in your 
% matlab installation, after the current path, the version used is the first in 
% this list.
% Custom MATLAB functions.
% The COBRA toolbox is but one example of a suite of custom matlab functions. 
% There are thousands of custom functions generated by others online at matlab 
% central file exchange <http://www.mathworks.com/matlabcentral/fileexchange/ 
% http://www.mathworks.com/matlabcentral/fileexchange/>
% 
% Functions vs Scripts vs Narriatives (live scripts)
% 
% When you write a MATLAB function or script, you save it to a file called an 
% M-file (named after its .m file extension).
% 
% When you write a MATLAB narritive (live script), you save it to a file with 
% a suffix .mlx
% 
% Feedback to the command line, most simply with the command

disp('some feedback')
%% 
% is essential to keep an eye on the progres of the function. Similarly, writting 
% comments into the code is essential for quickly understanding what is going 
% on, especially at a later date, when one might have forgotten what the function 
% was for. Note the description of input and output, these will allow other users 
% to uitilize the code, even if they are not totally familiar with the inner details.
%% TROUBLESHOOTING
% _There are three types of things that can go wrong:_
% _Errors_
% _Errors cause MATLAB to stop execution and no further commands are evaluated. 
% For example,_ 

[nMets, nRxns] = size(model.S)
% model.S(nMets+1,nRxns)
%% 
% will return red writing saying "Index exceeds array bounds." which means that 
% we tried to evaluate a stoichiometric coefficient in the 73rd row of the stoichiometric 
% matrix, but there are only 72 rows in it so an error returns.
% 
% MATLAB comes with a powerful graphical debugging facility that will help to 
% track down the source of errors. Essentially, the idea is to pause the evaulation 
% on the line before an error is thrown and work backwards to investigate, i.e., 
% debug, the preceeding code. 
% Warnings
% Warnings also return red text but are an indication that something is not 
% exactly right but matlab can proceed with evaluating further lines by making 
% some assumption, though it is wise to check where the warning was initiated 
% from and adjust ones code to avoid it.
% Logical errors
% A logical error is when the code evaluates fine but the actual evaulation 
% does not correspond to what the programmer had intended. i.e. it is a mistake 
% by the programmer, that is still evaluatable by matlab, but not an intended 
% computational action. These mistakes are the hardest to find. 
% 
% One way to combat logical errors is to add lots of *sanity checks* to the 
% code, e.g., if something does not work as expected, there should be some lines 
% of code to check for this and either issue a warning or an error if there is 
% a problem. This allows a user to straight away find the origin of a problem 
% what would otherwise be propagated downstream, making it much harder to track 
% back to the problem(s).
%% TIMING
% _1 hr for a beginner._
%% ANTICIPATED RESULTS
% _Beginners knowledge of matlab, esp those parts important for starting to 
% use the COBRA toolbox._
%% _Acknowledgments_
% _Please note an acknowledgments section can be included._
%% REFERENCES
% Laurent Heirendt & Sylvain Arreckx, Thomas Pfau, Sebastian N. Mendoza, Anne 
% Richelle, Almut Heinken, Hulda S. Haraldsdottir, Jacek Wachowiak, Sarah M. Keating, 
% Vanja Vlasov, Stefania Magnusdottir, Chiam Yu Ng, German Preciat, Alise Zagare, 
% Siu H.J. Chan, Maike K. Aurich, Catherine M. Clancy, Jennifer Modamio, John 
% T. Sauls, Alberto Noronha, Aarash Bordbar, Benjamin Cousins, Diana C. El Assal, 
% Luis V. Valcarcel, Inigo Apaolaza, Susan Ghaderi, Masoud Ahookhosh, Marouen 
% Ben Guebila, Andrejs Kostromins, Nicolas Sompairac, Hoai M. Le, Ding Ma, Yuekai 
% Sun, Lin Wang, James T. Yurkovich, Miguel A.P. Oliveira, Phan T. Vuong, Lemmer 
% P. El Assal, Inna Kuperstein, Andrei Zinovyev, H. Scott Hinton, William A. Bryant, 
% Francisco J. Aragon Artacho, Francisco J. Planes, Egils Stalidzans, Alejandro 
% Maass, Santosh Vempala, Michael Hucka, Michael A. Saunders, Costas D. Maranas, 
% Nathan E. Lewis, Thomas Sauter, Bernhard Ø. Palsson, Ines Thiele, Ronan M.T. 
% Fleming, *Creation and analysis of biochemical constraint-based models: the 
% COBRA Toolbox v3.0*, Nature Protocols, volume 14, pages 639–702, 2019 <https://doi.org/10.1038/s41596-018-0098-2 
% doi.org/10.1038/s41596-018-0098-2>.
% 
%
##### SOURCE END #####
-->
</div></body></html>